aboutsummaryrefslogtreecommitdiffstats
path: root/initramfs-init.in
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2015-02-07 22:21:32 +0200
committerTimo Teräs <timo.teras@iki.fi>2015-02-07 22:21:32 +0200
commitaf4168c70ec5fc1982c83dc22d75de2ba6aa30d8 (patch)
tree135797af492dac29113b9273cc21792b0aeb06f9 /initramfs-init.in
parent2ec7750ef7d4c6a443b0fb04b1627efabb9d7c03 (diff)
downloadmkinitfs-af4168c70ec5fc1982c83dc22d75de2ba6aa30d8.tar.bz2
mkinitfs-af4168c70ec5fc1982c83dc22d75de2ba6aa30d8.tar.xz
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.
Diffstat (limited to 'initramfs-init.in')
-rwxr-xr-xinitramfs-init.in14
1 files changed, 12 insertions, 2 deletions
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