Merge branch 'debian-next' into master-next
[live-boot-grml.git] / scripts / boot / 9990-overlay.sh
index 96c3331..c6de171 100755 (executable)
@@ -189,7 +189,8 @@ setup_unionfs ()
                        done
                fi
 
-               local whitelistdev=""
+               local whitelistdev
+               whitelistdev=""
                if [ -n "${PERSISTENCE_MEDIA}" ]
                then
                        case "${PERSISTENCE_MEDIA}" in
@@ -209,10 +210,11 @@ 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=""
+               local overlay_devices
+               overlay_devices=""
                if [ "${whitelistdev}" != "ignore_all_devices" ]
                then
                        for media in $(find_persistence_media "${overlays}" "${whitelistdev}")
@@ -220,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}"
@@ -333,7 +323,8 @@ setup_unionfs ()
                then
                        # FIXME: handle PERSISTENCE_READONLY
                        unionmountopts="-t ${cow_fstype} -o noatime,union,${cow_mountopt} ${cowdevice}"
-                       mount_full $unionmountopts "${unionmountpoint}"
+                       # unionmount only works with util-linux mount
+                       mount.util-linux $unionmountopts "${unionmountpoint}"
                else
                        cow_dir="/live/overlay${dir}"
                        rootfs_dir="${rootfs}${dir}"
@@ -380,33 +371,11 @@ 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
-               local custom_mounts="/tmp/custom_mounts.list"
+               local custom_mounts
+               custom_mounts="/tmp/custom_mounts.list"
                rm -rf ${custom_mounts} 2> /dev/null
 
                # Gather information about custom mounts from devies detected as overlays
@@ -415,14 +384,15 @@ setup_unionfs ()
                [ -n "${DEBUG}" ] && cp ${custom_mounts} "/lib/live/mount/persistence"
 
                # Now we do the actual mounting (and symlinking)
-               local used_overlays=""
+               local used_overlays
+               used_overlays=""
                used_overlays=$(activate_custom_mounts ${custom_mounts})
                rm ${custom_mounts}
 
                # Close unused overlays (e.g. due to missing $persistence_list)
                for overlay in ${overlay_devices}
                do
-                       if echo ${used_overlays} | grep -qve "^\(.* \)\?${device}\( .*\)\?$"
+                       if echo ${used_overlays} | grep -qve "^\(.* \)\?${overlay}\( .*\)\?$"
                        then
                                close_persistence_media ${overlay}
                        fi
@@ -432,5 +402,5 @@ setup_unionfs ()
         # ensure that a potentially stray tmpfs gets removed
         # otherways, initramfs-tools is unable to remove /live
         # and fails to boot
-        umount /live/overlay || true
+        umount /live/overlay > /dev/null 2>&1 || true
 }