Making the /live to /lib/live move for the persistence code.
[live-boot-grml.git] / scripts / boot / 9990-overlay.sh
index acb2e91..b54a2da 100755 (executable)
@@ -373,6 +373,29 @@ setup_unionfs ()
                esac
        done
 
+       # move all /live mountpoints that the custom persistence
+       # system depends on into /lib/live on the root filesystem
+       for _DIRECTORY in rootfs
+       do
+               if [ -d "/live/${_DIRECTORY}" ]
+               then
+                       mkdir -p "${rootmnt}/lib/live/mount/${_DIRECTORY}"
+
+                       for _MOUNT in $(ls /live/${_DIRECTORY})
+                       do
+                               mkdir -p "${rootmnt}/lib/live/mount/${_DIRECTORY}/${_MOUNT}"
+                               mount -o move "/live/${_DIRECTORY}/${_MOUNT}" "${rootmnt}/lib/live/mount/${_DIRECTORY}/${_MOUNT}" > /dev/null 2>&1 || \
+                                       mount -o bind "/live/${_DIRECTORY}/${_MOUNT}" "${rootmnt}/lib/live/mount/${_DIRECTORY}/${_MOUNT}" || \
+                                       log_warning_msg "W: failed to mount /live/${_DIRECTORY}/${_MOUNT} to ${rootmnt}/lib/live/mount/${_DIRECTORY}/${_MOUNT}"
+                       done
+               fi
+       done
+
+       mkdir -p "${rootmnt}/lib/live/mount/overlay"
+       mount -o move /live/overlay "${rootmnt}/lib/live/mount/overlay" > /dev/null 2>&1 || \
+               mount -o bind /live/overlay "${rootmnt}/lib/live/mount/overlay" || \
+               log_warning_msg "W: failed to mount /live/overlay to ${rootmnt}/lib/live/mount/overlay"
+
        # Adding custom persistence
        if [ -n "${PERSISTENCE}" ] && [ -z "${NOPERSISTENCE}" ]
        then
@@ -382,7 +405,7 @@ setup_unionfs ()
                # Gather information about custom mounts from devies detected as overlays
                get_custom_mounts ${custom_mounts} ${overlay_devices}
 
-               [ -n "${DEBUG}" ] && cp ${custom_mounts} "/live/persistence"
+               [ -n "${DEBUG}" ] && cp ${custom_mounts} "/lib/live/mount/persistence"
 
                # Now we do the actual mounting (and symlinking)
                local used_overlays=""
@@ -399,28 +422,6 @@ setup_unionfs ()
                done
        fi
 
-       # move all mountpoints to root filesystem
-       for _DIRECTORY in rootfs persistence
-       do
-               if [ -d "/live/${_DIRECTORY}" ]
-               then
-                       mkdir -p "${rootmnt}/lib/live/mount/${_DIRECTORY}"
-
-                       for _MOUNT in $(ls /live/${_DIRECTORY})
-                       do
-                               mkdir -p "${rootmnt}/lib/live/mount/${_DIRECTORY}/${_MOUNT}"
-                               mount -o move "/live/${_DIRECTORY}/${_MOUNT}" "${rootmnt}/lib/live/mount/${_DIRECTORY}/${_MOUNT}" > /dev/null 2>&1 || \
-                                       mount -o bind "/live/${_DIRECTORY}/${_MOUNT}" "${rootmnt}/lib/live/mount/${_DIRECTORY}/${_MOUNT}" || \
-                                       log_warning_msg "W: failed to mount /live/${_DIRECTORY}/${_MOUNT} to ${rootmnt}/lib/live/mount/${_DIRECTORY}/${_MOUNT}"
-                       done
-               fi
-       done
-
-       mkdir -p "${rootmnt}/lib/live/mount/overlay"
-       mount -o move /live/overlay "${rootmnt}/lib/live/mount/overlay" > /dev/null 2>&1 || \
-               mount -o bind /live/overlay "${rootmnt}/lib/live/mount/overlay" || \
-               log_warning_msg "W: failed to mount /live/overlay to ${rootmnt}/lib/live/mount/overlay"
-
         # ensure that a potentially stray tmpfs gets removed
         # otherways, initramfs-tools is unable to remove /live
         # and fails to boot