fix mdev for broadcom 2.6
[openwrt.git] / target / linux / brcm-2.4 / base-files / default / sbin / mount_root
index ffa6072..bd0d561 100755 (executable)
@@ -1,12 +1,26 @@
 #!/bin/sh
 # Copyright (C) 2006 OpenWrt.org
+. /etc/functions.sh
 
 is_dirty() {
+       mtdpart="$(find_mtd_part linux)"
        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"')
+       OFFSET="$(($(hexdump -v $mtdpart -s 20 -n 2 -e '"%d"')-1))"
+       return $(hexdump -v $mtdpart -s $OFFSET -n 1 -e '"%d"')
 }
 
+if grep devfs /proc/filesystems > /dev/null; then
+       mount none /dev -t devfs
+else
+       mount -t sysfs none /sys
+       mount -t tmpfs tmpfs /dev -o size=512K
+       mknod /dev/console c 5 1
+       mkdir /dev/shm
+       /sbin/mdev -s
+fi
+mkdir -p /dev/pts
+mount none /dev/pts -t devpts
+
 if [ "$1" != "failsafe" ]; then 
        mtd unlock linux
        mount | grep jffs2 >&-
@@ -17,7 +31,7 @@ if [ "$1" != "failsafe" ]; then
                is_dirty 
                [ $? != 0 ] && {
                        echo "switching to jffs2"
-                       mount /dev/mtdblock/4 /jffs -t jffs2
+                       mount $(find_mtd_part OpenWrt) /jffs -t jffs2
                        fopivot /jffs /rom
                } || {
                        echo "jffs2 not ready yet; using ramdisk"
@@ -26,6 +40,4 @@ if [ "$1" != "failsafe" ]; then
        fi
 fi
 
-mkdir -p /dev/pts
-mount none /dev/pts -t devpts 2>&-
 grep sysfs /proc/filesystems >/dev/null && mount -t sysfs none /sys 2>&-
This page took 0.026581 seconds and 4 git commands to generate.