X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive;h=e2489373255df46c1b698cc500fa3f8c5619af6c;hb=fe3b574c47a81858e256abd8fde409eda4dc99e1;hp=7f76f52fbd5324bbde906b544a5bc0d573abc451;hpb=b78990c495520b41ce163a55dee2d002ebba10de;p=live-boot-grml.git diff --git a/scripts/live b/scripts/live index 7f76f52..e248937 100755 --- a/scripts/live +++ b/scripts/live @@ -1013,7 +1013,7 @@ setup_unionfs () local home_snapshot_label="" local root_overlay_label="" local overlay_devices="" - for media in $(find_persistent_media "${overlays}" "${snapshots}" "${blacklistdev}" "${whitelistdev}") + for media in $(find_persistent_media "${overlays}" "${snapshots}" "${whitelistdev}") do media="$(echo ${media} | tr ":" " ")" case ${media} in @@ -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