From baa35e3dbde1d68bedca73fa03425d0a7d8b374c Mon Sep 17 00:00:00 2001 From: Tails developers Date: Tue, 7 Feb 2012 18:05:42 +0100 Subject: Separate overlay labels for full and custom persistence. Full root persistence through overlays is specified with "full-ov", and custom persistent mounts with "custom-ov". Previously they used the same label ("live-rw") and the existence of live.persist determined whether it should be used for full persistence or custom mounts. That was a bit dangerous since a misspelled live.persist could cause data loss etc. --- scripts/live | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) (limited to 'scripts') diff --git a/scripts/live b/scripts/live index 561c0e0..e80c470 100755 --- a/scripts/live +++ b/scripts/live @@ -11,7 +11,8 @@ mountpoint="/live/image" alt_mountpoint="/media" LIVE_MEDIA_PATH="live" -root_persistence="live-rw" +root_overlay_label="full-ov" +custom_overlay_label="custom-ov" root_snapshot_label="live-sn" home_snapshot_label="home-sn" persistence_list="live.persist" @@ -273,8 +274,8 @@ Arguments () ;; persistent-subtext=*) - root_persistence="${root_persistence}-${ARGUMENT#persistent-subtext=}" - home_persistence="${home_persistence}-${ARGUMENT#persistent-subtext=}" + root_overlay_label="${root_overlay_label}-${ARGUMENT#persistent-subtext=}" + custom_overlay_label="${custom_overlay_label}-${ARGUMENT#persistent-subtext=}" root_snapshot_label="${root_snapshot_label}-${ARGUMENT#persistent-subtext=}" home_snapshot_label="${home_snapshot_label}-${ARGUMENT#persistent-subtext=}" ;; @@ -1360,7 +1361,7 @@ setup_unionfs () mkdir -p /cow - # Looking for "${root_persistence}" device or file + # Looking for persistent devices or files if [ -n "${PERSISTENT}" ] && [ -z "${NOPERSISTENT}" ] then @@ -1405,7 +1406,7 @@ setup_unionfs () if echo ${PERSISTENT_METHOD} | grep -qe "\" then - overlays="${root_persistence}" + overlays="${root_overlay_label} ${custom_overlay_label}" fi if echo ${PERSISTENT_METHOD} | grep -qe "\" @@ -1427,23 +1428,24 @@ setup_unionfs () # ext2|ext3|ext4|jffs2 snapshot types. home_snapdata="${media#*=}" ;; - *) + ${root_overlay_label}=*) + device="${media#*=}" + root_overlay_device="${device}" + ;; + ${custom_overlay_label}=*) device="${media#*=}" overlay_devices="${overlay_devices} ${device}" ;; esac done - if [ -b "${cowprobe}" ] || [ -b "${homecow}" ] + if [ -b "${root_overlay_device}" ] then PERSISTENCE_IS_ON="1" export PERSISTENCE_IS_ON - fi - if [ -b "${cowprobe}" ] - then - cowdevice=${cowprobe} - cow_fstype=$(get_fstype "${cowprobe}") + cowdevice=${root_overlay_device} + cow_fstype=$(get_fstype "${root_overlay_device}") if [ -z "${PERSISTENT_READONLY}" ] then cow_mountopt="rw,noatime" @@ -1776,6 +1778,9 @@ setup_unionfs () then link_files "${links_source}" "${links_dest}" "${rootmnt}" fi + + PERSISTENCE_IS_ON="1" + export PERSISTENCE_IS_ON done < ${custom_mounts} rm -f ${bindings} -- cgit v1.2.3