Allow routerboard users to kexec into the newly installed kernel if kexec-tools is installed
SVN-Revision: 12286
This commit is contained in:
		| @@ -63,6 +63,11 @@ echo "chmod ugo+x /" > /tmp/wget2nand-rootfs/etc/uci-defaults/set_root_permissio | |||||||
| sync | sync | ||||||
| ls /tmp/wget2nand-kernel/ | ls /tmp/wget2nand-kernel/ | ||||||
| ls /tmp/wget2nand-rootfs/ | 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 | # unmount the partitions and remove the directories into which they were mounted | ||||||
| umount /tmp/wget2nand-kernel | umount /tmp/wget2nand-kernel | ||||||
| umount /tmp/wget2nand-rootfs | umount /tmp/wget2nand-rootfs | ||||||
|   | |||||||
| @@ -143,6 +143,7 @@ CONFIG_IP_NF_TARGET_CLUSTERIP=m | |||||||
| CONFIG_IRQ_CPU=y | CONFIG_IRQ_CPU=y | ||||||
| # CONFIG_IWLWIFI_LEDS is not set | # CONFIG_IWLWIFI_LEDS is not set | ||||||
| # CONFIG_JOLIET is not set | # CONFIG_JOLIET is not set | ||||||
|  | CONFIG_KEXEC=y | ||||||
| # CONFIG_LEDS_ALIX is not set | # CONFIG_LEDS_ALIX is not set | ||||||
| CONFIG_LEDS_GPIO=m | CONFIG_LEDS_GPIO=m | ||||||
| CONFIG_LEDS_TRIGGER_ADM5120_SWITCH=m | CONFIG_LEDS_TRIGGER_ADM5120_SWITCH=m | ||||||
|   | |||||||
| @@ -53,6 +53,11 @@ echo "Copying filesystem..." | |||||||
| ( cd /tmp/cf2nand/rootfs; tar c . ) | ( cd /tmp/cf2nand/p2; tar x ) | ( 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 | echo "chmod ugo+x /" > /tmp/cf2nand/p2/etc/uci-defaults/set_root_permission | ||||||
| sync | 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 | umount /tmp/cf2nand/p2 | ||||||
| rmdir /tmp/cf2nand/p2 | rmdir /tmp/cf2nand/p2 | ||||||
|  |  | ||||||
|   | |||||||
| @@ -55,6 +55,12 @@ echo "chmod ugo+x /" > /tmp/wget2nand/etc/uci-defaults/set_root_permission | |||||||
| sync | sync | ||||||
| ls /tmp/wget2nand-boot/ | ls /tmp/wget2nand-boot/ | ||||||
| ls /tmp/wget2nand/ | 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 | # unmount the partitions and remove the directories into which they were mounted | ||||||
| umount /tmp/wget2nand-boot | umount /tmp/wget2nand-boot | ||||||
| umount /tmp/wget2nand | umount /tmp/wget2nand | ||||||
|   | |||||||
| @@ -60,6 +60,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||||||
| CONFIG_INPUT=y | CONFIG_INPUT=y | ||||||
| CONFIG_INPUT_KEYBOARD=y | CONFIG_INPUT_KEYBOARD=y | ||||||
| CONFIG_IRQ_CPU=y | CONFIG_IRQ_CPU=y | ||||||
|  | CONFIG_KEXEC=y | ||||||
| # CONFIG_KEYBOARD_ATKBD is not set | # CONFIG_KEYBOARD_ATKBD is not set | ||||||
| CONFIG_KEYBOARD_GPIO=y | CONFIG_KEYBOARD_GPIO=y | ||||||
| # CONFIG_KEYBOARD_LKKBD is not set | # CONFIG_KEYBOARD_LKKBD is not set | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Florian Fainelli
					Florian Fainelli