Create the source dir for custom mounts using the 'linkfiles' option.
[live-boot-grml.git] / scripts / live
index a701f12..e248937 100755 (executable)
@@ -1219,18 +1219,28 @@ setup_unionfs ()
        # Adding custom persistent
        if [ -n "${PERSISTENT}" ] && [ -z "${NOPERSISTENT}" ]
        then
-               local custom_mounts="/custom_mounts.list"
+               local custom_mounts="/tmp/custom_mounts.list"
                rm -rf ${custom_mounts} 2> /dev/null
 
                # Gather information about custom mounts from devies detected as overlays
-               get_custom_mounts ${overlay_devices} ${custom_mounts} ${rootmnt}
+               get_custom_mounts ${custom_mounts} ${overlay_devices}
 
-               [ "${DEBUG}" = "Yes" ] && cp ${custom_mounts} "${rootmnt}/live/persistent"
+               [ -n "${DEBUG}" ] && cp ${custom_mounts} "${rootmnt}/live/persistent"
 
                # Now we do the actual mounting (and symlinking)
-               do_custom_mounts ${custom_mounts} ${rootmnt}
+               local 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}\( .*\)\?$"
+                       then
+                               close_persistent_media ${overlay}
+                       fi
+               done
+
                # Look for other snapshots to copy in
                try_snap "${root_snapdata}" "${rootmnt}" "ROOT"
                # This second type should be removed when snapshot grow smarter