X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=blobdiff_plain;f=target%2Flinux%2Fgeneric%2Fbase-files%2Finit;fp=target%2Flinux%2Fgeneric%2Fbase-files%2Finit;h=5e4fbaec36a5e9b43f024834270807a43e5cefa5;hp=9e8ba7c5eb0c3f2809d0afb8b4ffcab39011f3da;hb=d015f4a7a718adf10ae7a29ab086bd2c947094b8;hpb=a04658902a63105e3082dbcdc8ab6de116174510 diff --git a/target/linux/generic/base-files/init b/target/linux/generic/base-files/init index 9e8ba7c5eb..5e4fbaec36 100755 --- a/target/linux/generic/base-files/init +++ b/target/linux/generic/base-files/init @@ -8,6 +8,19 @@ INITRAMFS=1 set_state init echo "- init -" +[ -n "$SWITCH_ROOT_TMPFS" ] && { + mount none /mnt -t tmpfs + ( cd /; find -xdev -type d ) | ( cd /mnt; xargs mkdir -p ) + find / \! -type d -xdev | tar -cT /proc/self/fd/0 | tar -xC /mnt + mkdir /mnt/proc /mnt/dev /mnt/tmp /mnt/sys + mount -o move /proc /mnt/proc + mount -o move /dev /mnt/dev + mount -o move /tmp /mnt/tmp + mount -o move /sys /mnt/sys + rm -rf /proc /dev /tmp /sys + exec switch_root -c /dev/console /mnt /sbin/init +} + # if we have no root parameter, just go to running from ramfs [ -z $rootfs ] && { export NOMOUNT="No Root"