X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive;h=ef7f64d508d40ab490ab46c96caecdcbf97037c0;hb=35c1bf15ba1c4e64376e42fd796c4c08cfbc8389;hp=df104ef399cf344dab3d4dcc787e77f172f2b9ca;hpb=9683c4f087985d070ef8b77bdc1e284b55134490;p=live-boot-grml.git diff --git a/scripts/live b/scripts/live index df104ef..ef7f64d 100755 --- a/scripts/live +++ b/scripts/live @@ -391,6 +391,11 @@ Arguments () export SHOWMOUNTS ;; + silent) + SILENT="Yes" + export SILENT + ;; + textonly) TEXTONLY="Yes" export TEXTONLY @@ -1386,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 @@ -1404,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 @@ -1585,5 +1629,5 @@ mountroot () exec 1>&6 6>&- exec 2>&7 7>&- kill ${tailpid} - cp live.log "${rootmnt}/var/log/" + [ -w "${rootmnt}/var/log/" ] && cp live.log "${rootmnt}/var/log/" 2>/dev/null }