Daniel Baumann <[email protected]> writes: > On 02/19/2013 11:19 AM, Gaudenz Steinlin wrote: >> The attached patch implements a solution to both of these issues. > > can you split it in two patches please?
OK. See attached patches. Gaudenz
>From 8b6eb6772526e2a9ab1b944132e8887cd2b2761a Mon Sep 17 00:00:00 2001 From: Gaudenz Steinlin <[email protected]> Date: Thu, 17 Jan 2013 16:45:27 +0100 Subject: [PATCH 1/2] Immediately detect medium from live-media parameter If a preferred medium (device or medium type) is given with the live-media parameter then waiting for the timeout to expire before scaning for these devices is not necessary. Just pick the device as soon as it appears. If a criterium would match several devices the outcome is undefined anyway. So choosing the first one is good enough. --- scripts/boot/9990-misc-helpers.sh | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/scripts/boot/9990-misc-helpers.sh b/scripts/boot/9990-misc-helpers.sh index 888eeaf..2813ac0 100755 --- a/scripts/boot/9990-misc-helpers.sh +++ b/scripts/boot/9990-misc-helpers.sh @@ -259,16 +259,10 @@ find_livefs () { timeout="${1}" - # don't start autodetection before timeout has expired - if [ -n "${LIVE_MEDIA_TIMEOUT}" ] - then - if [ "${timeout}" -lt "${LIVE_MEDIA_TIMEOUT}" ] - then - return 1 - fi - fi - - # first look at the one specified in the command line + # first look at the one specified in the command line This is OK + # before the timeout has expired, if more than one device matches the + # criteria the outcome is undefined anyway, so we can pick the first + # one that appears. case "${LIVE_MEDIA}" in removable-usb) for sysblock in $(removable_usb_dev "sys") @@ -309,7 +303,16 @@ find_livefs () ;; esac - # or do the scan of block devices + # don't start autodetection before timeout has expired + if [ -n "${LIVE_MEDIA_TIMEOUT}" ] + then + if [ "${timeout}" -lt "${LIVE_MEDIA_TIMEOUT}" ] + then + return 1 + fi + fi + + # autodetection of live media # prefer removable devices over non-removable devices, so scan them first devices_to_scan="$(removable_dev 'sys') $(non_removable_dev 'sys')" -- 1.7.10.4
>From 1b7d2426f39309bacd282768ef7a6d8bddd9a961 Mon Sep 17 00:00:00 2001 From: Gaudenz Steinlin <[email protected]> Date: Tue, 19 Feb 2013 11:50:19 +0100 Subject: [PATCH 2/2] Use any medium if preferred medium type is not found Use any available live medium if the preferred medium type given with the live-media parameter is not found. This aligns the behavior of the "removeable" and "removeable-usb" values with the behavior already present when specifying a device path. This makes it possible to have a non-wirteable (ISO) live-image with the default boot parameter set to live-media=removable-usb for machines that can't boot directly from USB devices. If a live medium on an USB device is present it'll be preferred, but the ISO will also boot without an USB device. --- scripts/boot/9990-misc-helpers.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/boot/9990-misc-helpers.sh b/scripts/boot/9990-misc-helpers.sh index 2813ac0..1341972 100755 --- a/scripts/boot/9990-misc-helpers.sh +++ b/scripts/boot/9990-misc-helpers.sh @@ -275,7 +275,6 @@ find_livefs () fi done done - return 1 ;; removable) @@ -289,7 +288,6 @@ find_livefs () fi done done - return 1 ;; *) -- 1.7.10.4
-- Ever tried. Ever failed. No matter. Try again. Fail again. Fail better. ~ Samuel Beckett ~
