Allow routerboard users to kexec into the newly installed kernel if kexec-tools is...
authorFlorian Fainelli <florian@openwrt.org>
Tue, 12 Aug 2008 06:02:06 +0000 (06:02 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Tue, 12 Aug 2008 06:02:06 +0000 (06:02 +0000)
SVN-Revision: 12286

target/linux/adm5120/router_le/base-files/sbin/wget2nand
target/linux/adm5120/router_le/config-2.6.26
target/linux/rb532/base-files/sbin/cf2nand
target/linux/rb532/base-files/sbin/wget2nand
target/linux/rb532/config-2.6.23

index 50e9ddb..20be458 100755 (executable)
@@ -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
index 622d741..4792f64 100644 (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
index 146aa4f..5b838db 100755 (executable)
@@ -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
 
index 2101195..b0f4205 100755 (executable)
@@ -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
index fcfd610..53c1517 100644 (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