From af4168c70ec5fc1982c83dc22d75de2ba6aa30d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Sat, 7 Feb 2015 22:21:32 +0200 Subject: support for tmpfs overlay over root useful if wanting to optimize boot time, and do device updates via read-only system image. package management is not too useful in these situations. --- initramfs-init.in | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'initramfs-init.in') diff --git a/initramfs-init.in b/initramfs-init.in index 6357965..fd3e510 100755 --- a/initramfs-init.in +++ b/initramfs-init.in @@ -387,7 +387,8 @@ eval set -- `cat /proc/cmdline` myopts="alpine_dev autodetect autoraid chart cryptroot cryptdm debug_init dma init_args keep_apk_new modules ovl_dev pkgs quiet root_size root - usbdelay ip alpine_repo apkovl alpine_start splash blacklist" + usbdelay ip alpine_repo apkovl alpine_start splash blacklist + overlaytmpfs" for opt; do case "$opt" in @@ -544,7 +545,16 @@ if [ -n "$KOPT_root" ]; then start_$i done ebegin "Mounting root" - retry_mount -o ro $KOPT_root $sysroot 2>/dev/null + if [ "$KOPT_overlaytmpfs" = "yes" ]; then + mkdir -p /media/root-ro /media/root-rw $sysroot/media/root-ro $sysroot/media/root-rw + retry_mount -o ro $KOPT_root /media/root-ro 2>/dev/null + mount -t tmpfs root-tmpfs /media/root-rw + mkdir -p /media/root-rw/work /media/root-rw/root + mount -t overlay -o lowerdir=/media/root-ro,upperdir=/media/root-rw/root,workdir=/media/root-rw/work overlayfs $sysroot + else + retry_mount -o ro $KOPT_root $sysroot 2>/dev/null + fi + eend $? cat /proc/mounts | while read DEV DIR TYPE OPTS ; do if [ "$DIR" != "/" -a "$DIR" != "$sysroot" -a -d "$DIR" ]; then -- cgit v1.2.3