summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTails developers <amnesia@boum.org>2012-02-11 21:27:48 +0100
committerDaniel Baumann <daniel@debian.org>2012-04-01 22:13:28 +0200
commite2d2d40b67bdbbef25f1b53f4fbc2eedc72f12cd (patch)
tree5d94835ab172028283b19ca7963e5c7d7ceb0e6f
parent931f580302ca3a121d3be602a49e732d5189b667 (diff)
downloadlive-boot-e2d2d40b67bdbbef25f1b53f4fbc2eedc72f12cd.tar.gz
live-boot-e2d2d40b67bdbbef25f1b53f4fbc2eedc72f12cd.zip
Accept using several persistent media with custom-ov label.
We didn't want this before with live-{rw,sn} and home-{rw,sn} style persistence, so this was just a left-over. But we still can only allow one each of root-ov, root-sn and home-sn.
-rwxr-xr-xscripts/live22
-rw-r--r--scripts/live-helpers4
2 files changed, 17 insertions, 9 deletions
diff --git a/scripts/live b/scripts/live
index 6f0dc48..494abc7 100755
--- a/scripts/live
+++ b/scripts/live
@@ -1403,23 +1403,35 @@ setup_unionfs ()
snapshots="${root_snapshot_label} ${home_snapshot_label}"
fi
- overlay_devices=""
+ local root_snapdata=""
+ local home_snapshot_label=""
+ local root_overlay_label=""
+ local overlay_devices=""
for media in $(find_persistent_media "${overlays}" "${snapshots}" "${blacklistdev}" "${whitelistdev}")
do
media="$(echo ${media} | tr ":" " ")"
case ${media} in
${root_snapshot_label}=*)
- root_snapdata="${media#*=}"
+ if [ -z "${root_snapdata}" ]
+ then
+ root_snapdata="${media#*=}"
+ fi
;;
${home_snapshot_label}=*)
# This second type should be removed when snapshot will get smarter,
# hence when "/etc/live-snapshot*list" will be supported also by
# ext2|ext3|ext4|jffs2 snapshot types.
- home_snapdata="${media#*=}"
+ if [ -z "${home_snapdata}" ]
+ then
+ home_snapdata="${media#*=}"
+ fi
;;
${root_overlay_label}=*)
- device="${media#*=}"
- root_overlay_device="${device}"
+ if [ -z "${root_overlay_device}" ]
+ then
+ device="${media#*=}"
+ root_overlay_device="${device}"
+ fi
;;
${custom_overlay_label}=*)
device="${media#*=}"
diff --git a/scripts/live-helpers b/scripts/live-helpers
index c1efeec..f1ebe86 100644
--- a/scripts/live-helpers
+++ b/scripts/live-helpers
@@ -401,8 +401,6 @@ find_persistent_media ()
do
if [ "$(/sbin/blkid -s LABEL -o value $dev 2>/dev/null)" = "${label}" ]
then
- overlays=$(echo ${overlays} | sed -e "s|\<${label}\>||")
- snapshots=$(echo ${snapshots} | sed -e "s|\<${label}\>||")
echo "${label}=${dev}"
# skip to the next device
continue 2
@@ -424,7 +422,6 @@ find_persistent_media ()
path=${backing}/${PERSISTENT_PATH}${label}
if [ -f "${path}" ]
then
- overlays=$(echo ${overlays} | sed -e "s|\<${label}\>||")
overlay_on_dev="yes"
echo "${label}=$(setup_loop "${path}" "loop" "/sys/block/loop*")"
fi
@@ -437,7 +434,6 @@ find_persistent_media ()
path="${PERSISTENT_PATH}${label}.${ext}"
if [ -f "${backing}/${path}" ]
then
- snapshots=$(echo ${snapshots} | sed -e "s|\<${label}\>||")
snapshot_on_dev="yes"
echo "${label}=${dev}:${backing}:${path}"
fi