diff options
author | Tails developers <amnesia@boum.org> | 2012-12-07 22:30:27 +0100 |
---|---|---|
committer | Daniel Baumann <mail@daniel-baumann.ch> | 2013-05-06 13:54:13 +0200 |
commit | 82b09bfb04c51925877df3c5b8efaac9db6d4e5b (patch) | |
tree | 817905a5e9e5f0b20b0d928d663e229c0eff1b40 | |
parent | 0c19af3ab06b80595764a28331ca459e25075adf (diff) | |
download | live-boot-82b09bfb04c51925877df3c5b8efaac9db6d4e5b.tar.gz live-boot-82b09bfb04c51925877df3c5b8efaac9db6d4e5b.zip |
Fixing persistence-media option when no devices are attached.
Earlier, if it was set to e.g. 'removable-usb' and no USB storage was
connected, $whitelistdev would be empty, which is interpreted like all
devices are ok by the rest of the code.
-rwxr-xr-x | scripts/boot/9990-overlay.sh | 51 |
1 files changed, 29 insertions, 22 deletions
diff --git a/scripts/boot/9990-overlay.sh b/scripts/boot/9990-overlay.sh index b586a47..4282400 100755 --- a/scripts/boot/9990-overlay.sh +++ b/scripts/boot/9990-overlay.sh @@ -189,19 +189,23 @@ setup_unionfs () done fi - case "${PERSISTENCE_MEDIA}" in - removable) - whitelistdev="$(removable_dev)" - ;; - - removable-usb) - whitelistdev="$(removable_usb_dev)" - ;; + local whitelistdev="" + if [ -n "${PERSISTENCE_MEDIA}" ] + then + case "${PERSISTENCE_MEDIA}" in + removable) + whitelistdev="$(removable_dev)" + ;; - *) - whitelistdev="" - ;; - esac + removable-usb) + whitelistdev="$(removable_usb_dev)" + ;; + esac + if [ -z "${whitelistdev}" ] + then + whitelistdev="ignore_all_devices" + fi + fi if is_in_comma_sep_list overlay ${PERSISTENCE_METHOD} then @@ -209,17 +213,20 @@ setup_unionfs () fi local overlay_devices="" - for media in $(find_persistence_media "${overlays}" "${whitelistdev}") - do - media="$(echo ${media} | tr ":" " ")" + if [ "${whitelistdev}" != "ignore_all_devices" ] + then + for media in $(find_persistence_media "${overlays}" "${whitelistdev}") + do + media="$(echo ${media} | tr ":" " ")" - case ${media} in - ${custom_overlay_label}=*) - device="${media#*=}" - overlay_devices="${overlay_devices} ${device}" - ;; - esac - done + case ${media} in + ${custom_overlay_label}=*) + device="${media#*=}" + overlay_devices="${overlay_devices} ${device}" + ;; + esac + done + fi elif [ -n "${NFS_COW}" ] && [ -z "${NOPERSISTENCE}" ] then # check if there are any nfs options |