summaryrefslogtreecommitdiffstats
path: root/install-usb
diff options
context:
space:
mode:
authorSebastian Schmelzer2011-03-14 17:51:16 +0100
committerSebastian Schmelzer2011-03-14 17:51:16 +0100
commit12e4b1c978975d8cb6f3e13f20b1dbb136166b41 (patch)
tree959f0e28343389f92313cc318af6de39a4e14c2b /install-usb
downloadusb-boot-stick-12e4b1c978975d8cb6f3e13f20b1dbb136166b41.tar.gz
usb-boot-stick-12e4b1c978975d8cb6f3e13f20b1dbb136166b41.tar.xz
usb-boot-stick-12e4b1c978975d8cb6f3e13f20b1dbb136166b41.zip
initial commit
Diffstat (limited to 'install-usb')
-rwxr-xr-xinstall-usb67
1 files changed, 67 insertions, 0 deletions
diff --git a/install-usb b/install-usb
new file mode 100755
index 0000000..08502f2
--- /dev/null
+++ b/install-usb
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+ROOT_DIR=$(dirname $(readlink -f $0))
+
+if [ $(whoami) != "root" ]; then
+ echo "you should be root"
+ exit 1;
+fi
+
+OUT_DEV=$1
+SYSLINUX=$ROOT_DIR/contrib/syslinux/latest
+
+if [ -z $OUT_DEV ]; then
+ echo "no dev"
+ exit 1
+fi
+
+for i in 1 2 3 4 5 6 7 8 9; do
+ umount /dev/${OUT_DEV}$i &> /dev/null
+done
+
+cat $SYSLINUX/mbr/mbr.bin > /dev/${OUT_DEV}
+mkfs.ext3 /dev/${OUT_DEV}1
+
+mkdir -p /media/openslx-stick
+mount /dev/${OUT_DEV}1 /media/openslx-stick
+
+mkdir -p /media/openslx-stick/boot
+
+$SYSLINUX/extlinux/extlinux -i /media/openslx-stick/boot
+
+bash $ROOT_DIR/bin/build-preboot-kernel
+cp -v $ROOT_DIR/build/kernel-preboot-latest /media/openslx-stick/boot/kernel
+
+bash $ROOT_DIR/bin/build-preboot-initramfs
+cp -v $ROOT_DIR/build/initramfs-default /media/openslx-stick/boot/init
+
+cp -v $SYSLINUX/com32/menu/menu.c32 /media/openslx-stick/boot/
+cp -v $SYSLINUX/com32/menu/vesamenu.c32 /media/openslx-stick/boot/
+
+cat > /media/openslx-stick/boot/extlinux.conf << EOF
+TIMEOUT 100
+PROMPT 0
+DEFAULT menu.c32
+
+MENU TITLE Welcome to OpenSLX PreBoot USB Ext2/3 (Mini Linux/Kexec)
+LABEL SLXSTDBOOT
+ MENU LABEL OpenSLX PreBoot - Stateless Netboot Linux ...
+ KERNEL kernel
+ APPEND initrd=init vga=0x317
+ TEXT HELP
+ Use this (default) entry if you have configured your client.
+ You have chance to edit the kernel commandline by hitting the
+ TAB key (e.g. for adding debug=3 to it for bug hunting) ...
+ ENDTEXT
+
+LABEL LOCALBOOT
+ MENU LABEL LOCALBOOT
+ LOCALBOOT -1
+ TEXT HELP
+ Gets you out of here by booting from next device in BIOS boot
+ order.
+ ENDTEXT
+EOF
+
+sync
+umount /media/openslx-stick