X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive;h=683afa2a8b2e924868c050ac889a37dc11d063dc;hb=371b63f7dae515c56b777b2c2dca5135dd67781d;hp=d7c234735562ce67767db3cac7b2c2cdca78c889;hpb=f63c8fffb429db2b3d3b8feb708e78dcd710d01a;p=live-boot-grml.git diff --git a/scripts/live b/scripts/live index d7c2347..683afa2 100755 --- a/scripts/live +++ b/scripts/live @@ -773,9 +773,11 @@ do_httpmount () then case "$url" in tftp*) - ip="$(dirname $url | sed -e 's|tftp://||g')" - log_begin_msg "Trying tftp -g -b 10240 -r $(basename ${url}) -l ${dest}/$(basename ${url}) $ip" - tftp -g -b 10240 -r $(basename ${url}) -l ${dest}/$(basename ${url}) $ip + ip="$(dirname $url | sed -e 's|tftp://||g' -e 's|/.*$||g')" + rfile="$(echo $url | sed -e "s|tftp://$ip||g")" + lfile="$(basename $url)" + log_begin_msg "Trying tftp -g -b 10240 -r $rfile -l ${dest}/$lfile $ip" + tftp -g -b 10240 -r $rfile -l ${dest}/$lfile $ip ;; *) @@ -944,7 +946,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 ' ')" @@ -983,12 +985,11 @@ try_snap () log_warning_msg "Impossible to include the ${snapfile} Snapshot file" fi - elif [ -b "${snapdata}" ] then # Try to find if it could be a snapshot partition dev="${snapdata}" - log_success_msg "found snapshot device on ${dev}" + log_success_msg "found snapshot ${snap_type} device on ${dev}" if echo "${dev}" | grep -qs loop then # strange things happens, user confused? @@ -1402,6 +1403,25 @@ find_livefs () # 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