diff options
Diffstat (limited to 'packages/initrdscripts/files')
-rw-r--r-- | packages/initrdscripts/files/30-bootmenu.sh | 5 | ||||
-rw-r--r-- | packages/initrdscripts/files/87-kexecboot.sh | 19 |
2 files changed, 22 insertions, 2 deletions
diff --git a/packages/initrdscripts/files/30-bootmenu.sh b/packages/initrdscripts/files/30-bootmenu.sh index 7bc1429b1b..d54a643807 100644 --- a/packages/initrdscripts/files/30-bootmenu.sh +++ b/packages/initrdscripts/files/30-bootmenu.sh @@ -145,12 +145,13 @@ path=`expr "$sel" : '[^/]*\([^ ]*\).*'` if [ "$dev" == "NFS" ]; then ROOT_DEVICE="/dev/nfs" - CMDLINE="$CMDLINE nfsroot=192.168.2.200:/srv/nfs/oe/image" + CMDLINE="$CMDLINE root=/dev/nfs nfsroot=192.168.2.200:/srv/nfs/oe/image" elif [ -n "$path" ]; then ROOT_DEVICE="/dev/loop" - CMDLINE="looproot=/dev/$dev:$path" + CMDLINE="$CMDLINE root=/dev/loop looproot=/dev/$dev:$path" else ROOT_DEVICE="/dev/$dev" + CMDLINE="$CMDLINE root=$ROOT_DEVICE" fi echo ROOT_DEVICE=$ROOT_DEVICE diff --git a/packages/initrdscripts/files/87-kexecboot.sh b/packages/initrdscripts/files/87-kexecboot.sh new file mode 100644 index 0000000000..9232934f98 --- /dev/null +++ b/packages/initrdscripts/files/87-kexecboot.sh @@ -0,0 +1,19 @@ +#!/bin/sh +# Allow kexecing to kernel in rootfs + +if [ -n "$BOOT_ROOT" -a -f "$BOOT_ROOT/boot/zImage" ]; then + if ! expr "$CMDLINE" : '.*nokexec'; then + echo "Kernel found in rootfs:" + ls -l "$BOOT_ROOT/boot/zImage" + initramfs="" + if [ -f "$BOOT_ROOT/boot/initramfs.bin" ]; then + echo "Initramfs found in rootfs:" + ls -l "$BOOT_ROOT/boot/initramfs.bin" + initramfs="--initrd=$BOOT_ROOT/boot/initramfs.bin" + fi + echo /usr/sbin/kexec -f "$BOOT_ROOT/boot/zImage" $initramfs --command-line="$CMDLINE nokexec" + sleep 10 + /usr/sbin/kexec -f "$BOOT_ROOT/boot/zImage" $initramfs --command-line="$CMDLINE nokexec" + sleep 10000 + fi +fi |