[oe-commits] org.oe.dev initramfs-module-bootmenu, initramfs-module-kexecboot: Fixes for kexecing.
pfalcon commit
openembedded-commits at lists.openembedded.org
Sat Feb 16 03:07:51 UTC 2008
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.
Author: pfalcon at openembedded.org
Branch: org.openembedded.dev
Revision: 6453c1938bbcd0ab830b8bc186e501a3ec4ebb10
ViewMTN: http://monotone.openembedded.org/revision/info/6453c1938bbcd0ab830b8bc186e501a3ec4ebb10
Files:
1
packages/initrdscripts/files/30-bootmenu.sh
packages/initrdscripts/files/87-kexecboot.sh
packages/initrdscripts/initramfs-module-bootmenu_1.0.bb
packages/initrdscripts/initramfs-module-kexecboot_1.0.bb
Diffs:
#
# mt diff -rab8ea819b7e17ad766090d501a7e101eec04523d -r6453c1938bbcd0ab830b8bc186e501a3ec4ebb10
#
#
#
# patch "packages/initrdscripts/files/30-bootmenu.sh"
# from [217e6fb3656133f0b3da59e7967d23f3bdf7a59a]
# to [fa8ea4dd925ccbd5bbc48f509c2c02ba47bc73e8]
#
# patch "packages/initrdscripts/files/87-kexecboot.sh"
# from [d2082585f4d6be02d62797744802d10c9ddce372]
# to [73528951640012dc82e2f85bfa592a5762cc3f45]
#
# patch "packages/initrdscripts/initramfs-module-bootmenu_1.0.bb"
# from [394be03a399dd523d0e97625df53ae15512e0a5d]
# to [f13252f06b1023c948e8295f3ee95c0eda773899]
#
# patch "packages/initrdscripts/initramfs-module-kexecboot_1.0.bb"
# from [8f53faf60c2ed70390b85b76940ba0ca9619e5a3]
# to [50b73fbc6eac528a3565056e247019833cf00d3b]
#
============================================================
--- packages/initrdscripts/files/30-bootmenu.sh 217e6fb3656133f0b3da59e7967d23f3bdf7a59a
+++ packages/initrdscripts/files/30-bootmenu.sh fa8ea4dd925ccbd5bbc48f509c2c02ba47bc73e8
@@ -145,12 +145,13 @@ if [ "$dev" == "NFS" ]; then
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
============================================================
--- packages/initrdscripts/files/87-kexecboot.sh d2082585f4d6be02d62797744802d10c9ddce372
+++ packages/initrdscripts/files/87-kexecboot.sh 73528951640012dc82e2f85bfa592a5762cc3f45
@@ -1,17 +1,19 @@ if [ -n "$BOOT_ROOT" -a -f "$BOOT_ROOT/b
#!/bin/sh
# 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
============================================================
--- packages/initrdscripts/initramfs-module-bootmenu_1.0.bb 394be03a399dd523d0e97625df53ae15512e0a5d
+++ packages/initrdscripts/initramfs-module-bootmenu_1.0.bb f13252f06b1023c948e8295f3ee95c0eda773899
@@ -1,5 +1,5 @@ SRC_URI = "file://30-bootmenu.sh"
SRC_URI = "file://30-bootmenu.sh"
-PR = "r8"
+PR = "r9"
DESCRIPTION = "An initramfs module with UI for selection of boot device."
RDEPENDS = "klibc-utils-fstype initramfs-uniboot initramfs-module-block initramfs-module-loop initramfs-module-nfs"
# For VFAT mounting.
============================================================
--- packages/initrdscripts/initramfs-module-kexecboot_1.0.bb 8f53faf60c2ed70390b85b76940ba0ca9619e5a3
+++ packages/initrdscripts/initramfs-module-kexecboot_1.0.bb 50b73fbc6eac528a3565056e247019833cf00d3b
@@ -1,5 +1,5 @@ SRC_URI = "file://87-kexecboot.sh"
SRC_URI = "file://87-kexecboot.sh"
-PR = "r0.2"
+PR = "r0.4"
DESCRIPTION = "An initramfs module for kexecing kernel from rootfs."
RDEPENDS = "initramfs-uniboot kexec-static"
More information about the Openembedded-commits
mailing list