X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive;h=56c0a1413cdea47a7ba63d4dadcd8db2f6e04e1b;hb=be6b1ff8961f46a2bf51811bdd536c3d90239027;hp=5d5b978c892052c507d95f011bbf16c0250e2311;hpb=294e55d92faeab52245d6126003754e6e0c05df0;p=live-boot-grml.git diff --git a/scripts/live b/scripts/live index 5d5b978..56c0a14 100755 --- a/scripts/live +++ b/scripts/live @@ -944,7 +944,7 @@ try_snap () snap_mount="${2}" snap_type="${3}" - if [ ! -z "${snapdata}" ] + if [ -n "${snapdata}" ] && [ ! -b "${snapdata}" ] then log_success_msg "found snapshot: ${snapdata}" snapdev="$(echo ${snapdata} | cut -f1 -d ' ')" @@ -1401,13 +1401,52 @@ 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-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)")