Making the /live to /lib/live move for the persistence code.
[live-boot-grml.git] / scripts / boot / 9990-overlay.sh
index acb2e91..b586a47 100755 (executable)
@@ -205,7 +205,7 @@ setup_unionfs ()
 
                if is_in_comma_sep_list overlay ${PERSISTENCE_METHOD}
                then
-                       overlays="${old_root_overlay_label} ${old_home_overlay_label} ${custom_overlay_label}"
+                       overlays="${custom_overlay_label}"
                fi
 
                local overlay_devices=""
@@ -214,18 +214,6 @@ setup_unionfs ()
                        media="$(echo ${media} | tr ":" " ")"
 
                        case ${media} in
-                               ${old_root_overlay_label}=*)
-                                       device="${media#*=}"
-                                       fix_backwards_compatibility ${device} / union
-                                       overlay_devices="${overlay_devices} ${device}"
-                                       ;;
-
-                               ${old_home_overlay_label}=*)
-                                       device="${media#*=}"
-                                       fix_backwards_compatibility ${device} /home bind
-                                       overlay_devices="${overlay_devices} ${device}"
-                                       ;;
-
                                ${custom_overlay_label}=*)
                                        device="${media#*=}"
                                        overlay_devices="${overlay_devices} ${device}"
@@ -373,6 +361,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 +393,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 +410,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