X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Fboot%2F9990-overlay.sh;h=dba042bb294f4adfcd615e1f744bd37c0f08ae9a;hb=a2a0f6d26927de20a55b7a7c8d2b22be97156172;hp=b54a2da00f60f32375fb083d55b0ca87c5c86010;hpb=77dab1cb394c5fc2b9a848c6297d24f65a3b8259;p=live-boot-grml.git diff --git a/scripts/boot/9990-overlay.sh b/scripts/boot/9990-overlay.sh index b54a2da..dba042b 100755 --- a/scripts/boot/9990-overlay.sh +++ b/scripts/boot/9990-overlay.sh @@ -189,49 +189,58 @@ setup_unionfs () done fi - case "${PERSISTENCE_MEDIA}" in - removable) - whitelistdev="$(removable_dev)" - ;; - - removable-usb) - whitelistdev="$(removable_usb_dev)" - ;; + local whitelistdev + 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 overlays="${old_root_overlay_label} ${old_home_overlay_label} ${custom_overlay_label}" fi - local overlay_devices="" - for media in $(find_persistence_media "${overlays}" "${whitelistdev}") - do - media="$(echo ${media} | tr ":" " ")" + local overlay_devices + overlay_devices="" + if [ "${whitelistdev}" != "ignore_all_devices" ] + then + for media in $(find_persistence_media "${overlays}" "${whitelistdev}") + do + media="$(echo ${media} | tr ":" " ")" - case ${media} in - ${old_root_overlay_label}=*) - device="${media#*=}" - fix_backwards_compatibility ${device} / union - overlay_devices="${overlay_devices} ${device}" - ;; + case ${media} in + ${old_root_overlay_label}=*) + device="${media#*=}" + fix_backwards_compatibility ${device} / union + overlay_devices="${overlay_devices} ${device}" + ;; - ${old_home_overlay_label}=*) - device="${media#*=}" - fix_backwards_compatibility ${device} /home bind - overlay_devices="${overlay_devices} ${device}" - ;; + ${old_home_overlay_label}=*) + device="${media#*=}" + fix_backwards_compatibility ${device} /home bind + overlay_devices="${overlay_devices} ${device}" + ;; - ${custom_overlay_label}=*) - device="${media#*=}" - overlay_devices="${overlay_devices} ${device}" - ;; - esac - done + ${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 @@ -326,7 +335,8 @@ setup_unionfs () then # FIXME: handle PERSISTENCE_READONLY unionmountopts="-t ${cow_fstype} -o noatime,union,${cow_mountopt} ${cowdevice}" - mount_full $unionmountopts "${unionmountpoint}" + # unionmount only works with util-linux mount + mount.util-linux $unionmountopts "${unionmountpoint}" else cow_dir="/live/overlay${dir}" rootfs_dir="${rootfs}${dir}" @@ -399,7 +409,8 @@ setup_unionfs () # Adding custom persistence if [ -n "${PERSISTENCE}" ] && [ -z "${NOPERSISTENCE}" ] then - local custom_mounts="/tmp/custom_mounts.list" + local custom_mounts + custom_mounts="/tmp/custom_mounts.list" rm -rf ${custom_mounts} 2> /dev/null # Gather information about custom mounts from devies detected as overlays @@ -408,7 +419,8 @@ setup_unionfs () [ -n "${DEBUG}" ] && cp ${custom_mounts} "/lib/live/mount/persistence" # Now we do the actual mounting (and symlinking) - local used_overlays="" + local used_overlays + used_overlays="" used_overlays=$(activate_custom_mounts ${custom_mounts}) rm ${custom_mounts}