summaryrefslogtreecommitdiff
path: root/packages/initrdscripts/files
diff options
context:
space:
mode:
authorPaul Sokolovsky <pmiscml@gmail.com>2008-02-16 03:00:52 +0000
committerPaul Sokolovsky <pmiscml@gmail.com>2008-02-16 03:00:52 +0000
commitf53ea006bcf4e938ed1c569080472dd05dc84b4d (patch)
tree21aa85e3dd72dfc4cfabfe7b96395cd0b4ae9081 /packages/initrdscripts/files
parent2c9beab0a15cccf8a519a3407fbe0c09ff6f21ec (diff)
initramfs-module-bootmenu, initramfs-module-kexecboot: Fixes for kexecing.
* Be sure to pass original command line contents to new kernel. * Add protection against infinite recursive kexecing.
Diffstat (limited to 'packages/initrdscripts/files')
-rw-r--r--packages/initrdscripts/files/30-bootmenu.sh5
-rw-r--r--packages/initrdscripts/files/87-kexecboot.sh24
2 files changed, 16 insertions, 13 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
index ab281577d4..9232934f98 100644
--- a/packages/initrdscripts/files/87-kexecboot.sh
+++ b/packages/initrdscripts/files/87-kexecboot.sh
@@ -2,16 +2,18 @@
# Allow kexecing to kernel in rootfs
if [ -n "$BOOT_ROOT" -a -f "$BOOT_ROOT/boot/zImage" ]; 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"
+ 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
- echo /usr/sbin/kexec -f "$BOOT_ROOT/boot/zImage" $initramfs --command-line="$CMDLINE"
- sleep 10
- /usr/sbin/kexec -f "$BOOT_ROOT/boot/zImage" $initramfs --command-line="$CMDLINE"
- sleep 10000
fi