diff --git a/manpages/live-initramfs.en.7.txt b/manpages/live-initramfs.en.7.txt index d6a7d21..c43fa5e 100644 --- a/manpages/live-initramfs.en.7.txt +++ b/manpages/live-initramfs.en.7.txt @@ -116,7 +116,8 @@ 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. +if you want to further restrict the media to usb mass storage only, you can use +the 'removable-usb' keyword. {live-media-encryption|encryption}=**TYPE**:: diff --git a/scripts/live b/scripts/live index d7c2347..d125eae 100755 --- a/scripts/live +++ b/scripts/live @@ -1418,6 +1418,22 @@ find_livefs () done ;; + removable-usb) + for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)") + do + if [ "$(cat ${sysblock}/removable)" = "1" ] && readlink ${sysblock}/device | grep -q usb + then + for dev in $(subdevices "${sysblock}") + do + if check_dev "${dev}" + then + return 0 + fi + done + fi + done + ;; + *) if [ ! -z "${LIVE_MEDIA}" ] then