Allow routerboard users to kexec into the newly installed kernel if kexec-tools is installed

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@12286 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Florian Fainelli 2008-08-12 06:02:06 +00:00
parent 6425308580
commit 4bb28c3f0f
5 changed files with 18 additions and 0 deletions

View File

@ -63,6 +63,11 @@ echo "chmod ugo+x /" > /tmp/wget2nand-rootfs/etc/uci-defaults/set_root_permissio
sync
ls /tmp/wget2nand-kernel/
ls /tmp/wget2nand-rootfs/
# use kexec if present
[ -x /usr/sbin/kexec ] && {
kexec -l /tmp/wget2nand-kernel/kernel --command-line="$(cat /proc/cmdline) rootfstype=yaffs2 root=$mtd_kernel"
kexec -e
}
# unmount the partitions and remove the directories into which they were mounted
umount /tmp/wget2nand-kernel
umount /tmp/wget2nand-rootfs

View File

@ -143,6 +143,7 @@ CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IRQ_CPU=y
# CONFIG_IWLWIFI_LEDS is not set
# CONFIG_JOLIET is not set
CONFIG_KEXEC=y
# CONFIG_LEDS_ALIX is not set
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_TRIGGER_ADM5120_SWITCH=m

View File

@ -53,6 +53,11 @@ echo "Copying filesystem..."
( cd /tmp/cf2nand/rootfs; tar c . ) | ( cd /tmp/cf2nand/p2; tar x )
echo "chmod ugo+x /" > /tmp/cf2nand/p2/etc/uci-defaults/set_root_permission
sync
# Use kexec is present
[ -x /usr/bin/kexec ] && {
kexec -l /tmp/cf2nand/p1/kernel --command-line="$(cat /proc/cmdline) root=/dev/mtdblock1 rootfstype=yaffs2 init=/etc/preinit"
kexec -e
}
umount /tmp/cf2nand/p2
rmdir /tmp/cf2nand/p2

View File

@ -55,6 +55,12 @@ echo "chmod ugo+x /" > /tmp/wget2nand/etc/uci-defaults/set_root_permission
sync
ls /tmp/wget2nand-boot/
ls /tmp/wget2nand/
# use kexec if present
[ -x /usr/bin/kexec ] && {
kexec -l /tmp/wget2nand-boot/kernel --command-line="$(cat /proc/cmdline) root=$main rootfstype=yaffs2 init=/etc/preinit"
kexec -e
}
# unmount the partitions and remove the directories into which they were mounted
umount /tmp/wget2nand-boot
umount /tmp/wget2nand

View File

@ -60,6 +60,7 @@ CONFIG_INITRAMFS_SOURCE=""
CONFIG_INPUT=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_IRQ_CPU=y
CONFIG_KEXEC=y
# CONFIG_KEYBOARD_ATKBD is not set
CONFIG_KEYBOARD_GPIO=y
# CONFIG_KEYBOARD_LKKBD is not set