initramfs: allow preinit to enable switching from initramfs to tmpfs to allow overlayfs to be mounted on top of it

SVN-Revision: 27960
This commit is contained in:
Felix Fietkau 2011-08-11 20:32:57 +00:00
parent d26bb6c59c
commit 82a05d1a19
1 changed files with 13 additions and 0 deletions

View File

@ -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"