Harald Hoyer 9d5d75
From 44d1688164040f088fd66fb8a2d458e1f61836ce Mon Sep 17 00:00:00 2001
Harald Hoyer 9d5d75
From: Frederick Grose <fgrose@sugarlabs.org>
Harald Hoyer 9d5d75
Date: Mon, 3 Sep 2018 19:02:23 -0400
Harald Hoyer 9d5d75
Subject: [PATCH] dmsquash-live-root: Manage absent overlayfs module better.
Harald Hoyer 9d5d75
Harald Hoyer 9d5d75
die when required; systemctl reload otherwise.
Harald Hoyer 9d5d75
---
Harald Hoyer 9d5d75
 modules.d/90dmsquash-live/dmsquash-live-root.sh | 26 +++++++++++++++----------
Harald Hoyer 9d5d75
 1 file changed, 16 insertions(+), 10 deletions(-)
Harald Hoyer 9d5d75
Harald Hoyer 9d5d75
diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
Harald Hoyer 9d5d75
index 330ba3e9..6324fe83 100755
Harald Hoyer 9d5d75
--- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
Harald Hoyer 9d5d75
+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
Harald Hoyer 9d5d75
@@ -146,10 +146,10 @@ do_live_overlay() {
Harald Hoyer 9d5d75
                     [ -d /run/initramfs/overlayfs/ovlwork ]; then
Harald Hoyer 9d5d75
                     ln -s /run/initramfs/overlayfs/overlayfs /run/overlayfs$opt
Harald Hoyer 9d5d75
                     ln -s /run/initramfs/overlayfs/ovlwork /run/ovlwork$opt
Harald Hoyer 9d5d75
-                    if [ -z "$overlayfs" ]; then
Harald Hoyer 9d5d75
-                        overlayfs="yes"
Harald Hoyer 9d5d75
-                        [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
Harald Hoyer 9d5d75
+                    if [ -z "$overlayfs" ] && [ -n "$DRACUT_SYSTEMD" ]; then
Harald Hoyer 9d5d75
+                        reloadsysrootmountunit=":>/xor_overlayfs;"
Harald Hoyer 9d5d75
                     fi
Harald Hoyer 9d5d75
+                    overlayfs="required"
Harald Hoyer 9d5d75
                     setup="yes"
Harald Hoyer 9d5d75
                 fi
Harald Hoyer 9d5d75
             fi
Harald Hoyer 9d5d75
@@ -157,18 +157,24 @@ do_live_overlay() {
Harald Hoyer 9d5d75
             [ -d /run/initramfs/overlayfs$pathspec/../ovlwork ]; then
Harald Hoyer 9d5d75
             ln -s /run/initramfs/overlayfs$pathspec /run/overlayfs$opt
Harald Hoyer 9d5d75
             ln -s /run/initramfs/overlayfs$pathspec/../ovlwork /run/ovlwork$opt
Harald Hoyer 9d5d75
-            if [ -z "$overlayfs" ]; then
Harald Hoyer 9d5d75
-                overlayfs="yes"
Harald Hoyer 9d5d75
-                [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
Harald Hoyer 9d5d75
+            if [ -z "$overlayfs" ] && [ -n "$DRACUT_SYSTEMD" ]; then
Harald Hoyer 9d5d75
+                reloadsysrootmountunit=":>/xor_overlayfs;"
Harald Hoyer 9d5d75
             fi
Harald Hoyer 9d5d75
+            overlayfs="required"
Harald Hoyer 9d5d75
             setup="yes"
Harald Hoyer 9d5d75
         fi
Harald Hoyer 9d5d75
     fi
Harald Hoyer 9d5d75
     if [ -n "$overlayfs" ]; then
Harald Hoyer 9d5d75
         modprobe overlay
Harald Hoyer 9d5d75
         if [ $? != 0 ]; then
Harald Hoyer 9d5d75
+            if [ "$overlayfs" = required ]; then
Harald Hoyer 9d5d75
+                die "OverlayFS is required but not available."
Harald Hoyer 9d5d75
+                exit 1
Harald Hoyer 9d5d75
+            fi
Harald Hoyer 9d5d75
+            [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
Harald Hoyer 9d5d75
             m='OverlayFS is not available; using temporary Device-mapper overlay.'
Harald Hoyer 9d5d75
-            unset -v overlayfs setup reloadsysrootmountunit
Harald Hoyer 9d5d75
+            info $m
Harald Hoyer 9d5d75
+            unset -v overlayfs setup
Harald Hoyer 9d5d75
         fi
Harald Hoyer 9d5d75
     fi
Harald Hoyer 9d5d75
 
Harald Hoyer 9d5d75
@@ -302,10 +308,10 @@ if [ -e "$SQUASHED" ]; then
Harald Hoyer 9d5d75
         fi
Harald Hoyer 9d5d75
     elif [ -d /run/initramfs/squashfs/proc ]; then
Harald Hoyer 9d5d75
         FSIMG=$SQUASHED
Harald Hoyer 9d5d75
-        if [ -z "$overlayfs" ]; then
Harald Hoyer 9d5d75
-            overlayfs="yes"
Harald Hoyer 9d5d75
-            [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
Harald Hoyer 9d5d75
+        if [ -z "$overlayfs" ] && [ -n "$DRACUT_SYSTEMD" ]; then
Harald Hoyer 9d5d75
+            reloadsysrootmountunit=":>/xor_overlayfs;"
Harald Hoyer 9d5d75
         fi
Harald Hoyer 9d5d75
+        overlayfs="required"
Harald Hoyer 9d5d75
     else
Harald Hoyer 9d5d75
         die "Failed to find a root filesystem in $SQUASHED."
Harald Hoyer 9d5d75
         exit 1
Harald Hoyer 9d5d75