From: Daniel Baumann Date: Thu, 12 Mar 2009 07:07:48 +0000 (+0100) Subject: Also allowing to use the removable keyword for specifying a live media. X-Git-Tag: debian/2.0.15-1~333 X-Git-Url: http://git.grml.org/?a=commitdiff_plain;h=46d3944369fb7436c4e7129df65f2f1a6dbf3ffc;p=live-boot-grml.git Also allowing to use the removable keyword for specifying a live media. --- diff --git a/manpages/live-initramfs.en.7.txt b/manpages/live-initramfs.en.7.txt index c1dcd5b..d6a7d21 100644 --- a/manpages/live-initramfs.en.7.txt +++ b/manpages/live-initramfs.en.7.txt @@ -114,6 +114,10 @@ to find this device for the "/live" directory where the read-only root filesystem should reside. If it did not find something usable, the normal scan for block devices is performed. +Instead of specifing an actual device name, the keyword 'removable' can be used +to limit the search of acceptable live media to removable type only. Note that +cdrom devices are not removable, but e.g. usb mass storage is. + {live-media-encryption|encryption}=**TYPE**:: live-initramfs will mount the encrypted rootfs TYPE, asking the passphrase, diff --git a/scripts/live b/scripts/live index 5d5b978..d7c2347 100755 --- a/scripts/live +++ b/scripts/live @@ -1401,13 +1401,33 @@ find_livefs () fi # first look at the one specified in the command line - if [ ! -z "${LIVE_MEDIA}" ] - then - if check_dev "null" "${LIVE_MEDIA}" "skip_uuid_check" - then - return 0 - fi - fi + case "${LIVE_MEDIA}" in + removable) + for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)") + do + if [ "$(cat ${sysblock}/removable)" = "1" ] + then + for dev in $(subdevices "${sysblock}") + do + if check_dev "${dev}" + then + return 0 + fi + done + fi + done + ;; + + *) + if [ ! -z "${LIVE_MEDIA}" ] + then + if check_dev "null" "${LIVE_MEDIA}" "skip_uuid_check" + then + return 0 + fi + fi + ;; + esac # or do the scan of block devices for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)")