From b786a1129a4d5014389a603e00cd8ecabf63a10e Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 12 Mar 2009 10:18:44 +0100 Subject: [PATCH] Adding removable-usb keyword to further restrict live media selection. --- manpages/live-initramfs.en.7.txt | 3 ++- scripts/live | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) 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 -- 2.1.4