Releasing debian version 4.0~a4-1.
[live-boot-grml.git] / scripts / boot / 9990-overlay.sh
index 098111c..b4f5082 100755 (executable)
@@ -210,7 +210,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
@@ -222,18 +222,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}"
@@ -383,6 +371,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