Added subdirectory sharing as configuration feature.
authorRalph Ronnquist <ralph.ronnquist@gmail.com>
Thu, 29 Sep 2022 10:30:23 +0000 (20:30 +1000)
committerRalph Ronnquist <ralph.ronnquist@gmail.com>
Thu, 29 Sep 2022 10:30:23 +0000 (20:30 +1000)
functions
overlay-boot.8.adoc

index bc65448082cb4c697df37d2d6f8e82f2bc5a5a4f..ddcd97dd99fe7f4ed85ab93ec03694216faf5a9a 100644 (file)
--- a/functions
+++ b/functions
@@ -150,6 +150,17 @@ setup_overlay() {
        mount --bind $UPPER $LOWER
     fi
 
+    grep ^SHARE= "$CONFIG" | while read A ; do
+        B="$(echo ${A#SHARE=})"
+        D="$(realpath "$LOWER$B")"
+        [ "$D" = "$LOWER" ] && continue
+        if [ -d "$D" ] ; then
+            echo bind mount $D onto $LIVE$D
+            mkdir -p $LIVE$D
+            mount --bind $D $LIVE$D
+        fi
+    done
+
     env CONFIG="$CONFIG" $POSTMOUNT "LIVE" "$UPPER" 
 }
 
index 01ae70904f37c19e364352530171bba5ae26a4a5..974759eefe157a48f3111924992156cbc23b36ad 100644 (file)
@@ -166,6 +166,14 @@ This variable nominates the "work" directory for an overlay mount. It
 has to be a writable directory on the same mount device as the UPPER
 directory.
 
+*SHARE*::
+
+This variable nominates a pathname under $LOWER to bind-mount onto the
+same pathname under $LIVE so as to share that directory tree into the
+overlay. The SHARE variable is a special configuration variable in
+that the value does not allow exclamation mark evaluation, and that it
+may occur many times for declaring multiple shared subdirectories.
+
 Networking
 ----------