diff --git a/openwrt/target/default/target_skeleton/etc/preinit b/openwrt/target/default/target_skeleton/etc/preinit index 95a2da8be0..d2036f4e59 100755 --- a/openwrt/target/default/target_skeleton/etc/preinit +++ b/openwrt/target/default/target_skeleton/etc/preinit @@ -1,6 +1,4 @@ #!/bin/sh -# executed from squashfs before init to -# transfer root to the jffs2 partition mount none /proc -t proc insmod diag echo 0x01 > /proc/sys/diag @@ -9,12 +7,14 @@ if [ $(cat /proc/sys/reset) = 1 ] ; then export FAILSAFE=true while :; do { echo $(((X=(X+1)%8)%2)) > /proc/sys/diag; sleep $((X==0)); } done & else - mtd unlock mtd4 - mount -t jffs2 /dev/mtdblock/4 /jffs - pivot_root /jffs /jffs/rom - mount none /dev -t devfs - mount none /proc -t proc - umount rom/proc + mount | grep jffs2 1>&- || { + mtd unlock mtd4 + mount -t jffs2 /dev/mtdblock/4 /jffs + pivot_root /jffs /jffs/rom + mount none /dev -t devfs + mount none /proc -t proc + umount rom/proc + } fi mount none /tmp -t ramfs exec /sbin/init