#!/bin/sh
+. /etc/nvram.sh
if [ "$1" != "failsafe" ]; then
mount | grep jffs2 >&-
if [ $? = 0 ] ; then
if [ $(cat /proc/mtd | wc -l) = 6 ]; then
- echo 5 > /proc/sys/diag
+ [ -f /proc/sys/diag ] && echo 5 > /proc/sys/diag
mtd unlock linux
mtd erase OpenWrt
jffs2root --move
mount -o remount,rw /dev/root /
fi
else
- mtd unlock OpenWrt
- mount -t jffs2 /dev/mtdblock/4 /jffs
- pivot_root /jffs /jffs/rom
- mount none /proc -t proc
- mount none /dev -t devfs
- umount /rom/proc rom/dev >&-
+ if [ \! -x /usr/sbin/nvram -o -z "$(nvram get no_root_swap)" ]; then
+ mtd unlock OpenWrt
+ mount -t jffs2 /dev/mtdblock/4 /jffs
+ pivot_root /jffs /jffs/rom
+ mount none /proc -t proc
+ mount none /dev -t devfs
+ umount /rom/proc rom/dev >&-
+ fi
fi
fi
mount none /tmp -t tmpfs -o nosuid,nodev,mode=1777,size=50%