diff options
Diffstat (limited to 'openwrt/target/default/target_skeleton/etc')
-rwxr-xr-x | openwrt/target/default/target_skeleton/etc/preinit | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/openwrt/target/default/target_skeleton/etc/preinit b/openwrt/target/default/target_skeleton/etc/preinit index 01df20583..6507d2319 100755 --- a/openwrt/target/default/target_skeleton/etc/preinit +++ b/openwrt/target/default/target_skeleton/etc/preinit @@ -8,8 +8,15 @@ if [ $(cat /proc/sys/reset) = 1 ] ; then while :; do { echo $(((X=(X+1)%8)%2)) > /proc/sys/diag; sleep $((X==0)); } done & else mount | grep jffs2 >&- - if [ $? = 0 ] && [ $(cat /proc/mtd | wc -l) = 6 ] ; then - jffs2root --move && reboot + if [ $? = 0 ] ; then + mtd unlock rootfs + [ $(cat /proc/mtd | wc -l) = 6 ] && { + echo 5 > /proc/sys/diag + mtd unlock OpenWrt + mtd erase OpenWrt + jffs2root --move + } + mount -o remount,rw /dev/root / else mtd unlock mtd4 mount -t jffs2 /dev/mtdblock/4 /jffs |