diff options
author | Felix Fietkau <nbd@openwrt.org> | 2011-08-11 20:32:57 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2011-08-11 20:32:57 +0000 |
commit | 82a05d1a19136748ef8683db1e3056db55a1f641 (patch) | |
tree | ba6b0f3c92e71e82e4f5eea67a797e333758c2a0 /target/linux | |
parent | d26bb6c59c93f06147306a2f0d8dd483ee6f99a3 (diff) | |
download | upstream-82a05d1a19136748ef8683db1e3056db55a1f641.tar.gz upstream-82a05d1a19136748ef8683db1e3056db55a1f641.tar.bz2 upstream-82a05d1a19136748ef8683db1e3056db55a1f641.zip |
initramfs: allow preinit to enable switching from initramfs to tmpfs to allow overlayfs to be mounted on top of it
SVN-Revision: 27960
Diffstat (limited to 'target/linux')
-rwxr-xr-x | target/linux/generic/base-files/init | 13 |
1 files changed, 13 insertions, 0 deletions
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" |