summaryrefslogtreecommitdiffstats
path: root/target/linux/rb532/base-files/sbin
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/rb532/base-files/sbin')
-rwxr-xr-xtarget/linux/rb532/base-files/sbin/cf2nand5
-rwxr-xr-xtarget/linux/rb532/base-files/sbin/wget2nand6
2 files changed, 11 insertions, 0 deletions
diff --git a/target/linux/rb532/base-files/sbin/cf2nand b/target/linux/rb532/base-files/sbin/cf2nand
index 146aa4f11..5b838dbbb 100755
--- a/target/linux/rb532/base-files/sbin/cf2nand
+++ b/target/linux/rb532/base-files/sbin/cf2nand
@@ -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
diff --git a/target/linux/rb532/base-files/sbin/wget2nand b/target/linux/rb532/base-files/sbin/wget2nand
index 2101195bc..b0f4205e7 100755
--- a/target/linux/rb532/base-files/sbin/wget2nand
+++ b/target/linux/rb532/base-files/sbin/wget2nand
@@ -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