X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/6dc988729c78347c590675fe4bfdb9bb408fffc7..7f5de61a8743da1a7b65a5fafebe8c4717daa289:/package/base-files/default/sbin/mount_root diff --git a/package/base-files/default/sbin/mount_root b/package/base-files/default/sbin/mount_root index ae78ee488..88a836c80 100755 --- a/package/base-files/default/sbin/mount_root +++ b/package/base-files/default/sbin/mount_root @@ -1,28 +1,38 @@ #!/bin/sh -. /etc/nvram.sh +is_dirty() { + grep Broadcom /proc/cpuinfo >&- || return 1 + OFFSET="$(($(hexdump -v /dev/mtdblock/1 -s 20 -n 2 -e '"%d"')-1))" + return $(hexdump -v /dev/mtdblock/1 -s $OFFSET -n 1 -e '"%d"') +} + +size=$(awk '/Mem:/ {l=5242880;print((s=$2/2)&- if [ $? = 0 ] ; then if [ $(cat /proc/mtd | wc -l) = 6 ]; then - echo 5 > /proc/sys/diag - mtd unlock linux mtd erase OpenWrt jffs2root --move else - mtd unlock rootfs mount -o remount,rw /dev/root / fi else - if [ -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 + . /bin/firstboot + is_dirty + [ $? != 0 ] && { + echo "switching to jffs2" + mount /dev/mtdblock/4 /jffs -t jffs2 + pivot /jffs /rom + } || { + echo "jffs2 unusable; using ramdisk" + ramoverlay + } fi fi -mount none /tmp -t tmpfs -o nosuid,nodev,mode=1777,size=50% + +mount none /tmp -t tmpfs -o remount,nosuid,nodev,mode=1777 mkdir -p /dev/pts mount none /dev/pts -t devpts +mount -t sysfs none /sys 2>&-