X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive;h=ef7f64d508d40ab490ab46c96caecdcbf97037c0;hb=35c1bf15ba1c4e64376e42fd796c4c08cfbc8389;hp=eb04d277db7606c130fbfed5a11401c63d196879;hpb=4fc648acc4e010fe0c3046baeb26ec1334c16e27;p=live-boot-grml.git diff --git a/scripts/live b/scripts/live index eb04d27..ef7f64d 100755 --- a/scripts/live +++ b/scripts/live @@ -1391,15 +1391,6 @@ find_livefs () { timeout="${1}" - # 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 - # don't start autodetection before timeout has expired if [ -n "${LIVE_MEDIA_TIMEOUT}" ] then @@ -1409,6 +1400,54 @@ find_livefs () fi fi + # first look at the one specified in the command line + case "${LIVE_MEDIA}" in + removable-usb) + for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)") + do + if [ "$(cat ${sysblock}/removable)" = "1" ] + then + if readlink ${sysblock}/device | grep -q usb + then + for dev in $(subdevices "${sysblock}") + do + if check_dev "${dev}" + then + return 0 + fi + done + fi + fi + done + ;; + + 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)") do