#! /bin/sh # # move root-filesystem to aufs filesystem { . /etc/init.d/rc.functions mount proc mount sys busybox --install -s mknod -m 600 /dev/tty5 c 4 5 mknod -m 600 /dev/console c 5 1 2>/dev/null date # copy root filesystem to tmpfs echo -e "\nCopy initramfs to tmpfs: " mkdir /mnt/rootfs mount -n rootfs /mnt/rootfs -t tmpfs find / -maxdepth 1 ! -wholename / ! -name dev ! -name mnt ! -name proc ! -name sys -exec cp -a {} /mnt/rootfs ";" mkdir -p /mnt/rootfs/dev /mnt/rootfs/mnt /mnt/rootfs/proc /mnt/rootfs/sys chown -Rh root:root /mnt check_status echo "Preparing root as aufs: " mkdir /mnt/tmpfs /mnt/root mount -n tmpfs /mnt/tmpfs -t tmpfs mkdir -p /mnt/tmpfs/tmp /mnt/tmpfs/dev /mnt/tmpfs/var/run mount -n root /mnt/root -t aufs -o dirs=/mnt/tmpfs=rw:/mnt/rootfs=ro,create=tdp:t,cpup=tdp:t #,udba=inotify cp -a /dev/* /mnt/root/dev/ chmod 1777 /mnt/root/tmp check_status # make filesystems available after chroot (for debuging) mkdir -p /mnt/root/mnt/rootfs /mnt/root/mnt/tmpfs mount -n -o move /mnt/rootfs /mnt/root/mnt/rootfs mount -n -o move /mnt/tmpfs /mnt/root/mnt/tmpfs while ! umount sys 2>/dev/null; do sleep 1 done umount proc } 2>&1 | tee -a /var/log/sysinit mv /var/log/sysinit /mnt/root/var/log/sysinit mv /var/spool/bootstep /mnt/root/var/spool/bootstep exec run_init /mnt/root /sbin/init