diff options
| -rwxr-xr-x | target/default/target_skeleton/etc/preinit | 24 | ||||
| -rwxr-xr-x | target/default/target_skeleton/sbin/mount_root | 24 | 
2 files changed, 26 insertions, 22 deletions
diff --git a/target/default/target_skeleton/etc/preinit b/target/default/target_skeleton/etc/preinit index c6ad0d706..9a80a7e07 100755 --- a/target/default/target_skeleton/etc/preinit +++ b/target/default/target_skeleton/etc/preinit @@ -6,27 +6,7 @@ sleep 1  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 -  mount | grep jffs2 >&- -  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 -    pivot_root /jffs /jffs/rom -    mount none /dev -t devfs -    mount none /proc -t proc -    umount rom/proc rom/dev -  fi  fi -mount none /tmp -t ramfs -mkdir -p /dev/pts -mount none /dev/pts -t devpts +/sbin/mount_root ${FAILSAFE:+failsafe} +  exec /sbin/init diff --git a/target/default/target_skeleton/sbin/mount_root b/target/default/target_skeleton/sbin/mount_root new file mode 100755 index 000000000..db73eaed5 --- /dev/null +++ b/target/default/target_skeleton/sbin/mount_root @@ -0,0 +1,24 @@ +#!/bin/sh +if [ "$1" != "failsafe" ]; then  +	mount | grep jffs2 >&- +	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 +		pivot_root /jffs /jffs/rom +		mount none /proc -t proc +		mount none /dev -t devfs +		umount rom/proc rom/dev +	fi +fi +mount none /tmp -t ramfs +mkdir -p /dev/pts +mount none /dev/pts -t devpts  | 
