summaryrefslogtreecommitdiff
path: root/packages/initrdscripts/files/87-kexecboot.sh
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/87-kexecboot.sh
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/87-kexecboot.sh')
-rw-r--r--packages/initrdscripts/files/87-kexecboot.sh24
1 files changed, 13 insertions, 11 deletions
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