If the root or /usr filesystem is missing, we cannot continue booting and must panic. This is not true for the resume device, and a missing resume device has not been a fatal error up until now. Signed-off-by: Ben Hutchings <ben@decadent.org.uk> --- scripts/local | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/local b/scripts/local index 54ac0ad5c3b4..c78891003565 100644 --- a/scripts/local +++ b/scripts/local @@ -40,11 +40,13 @@ local_bottom() # $1=device ID to mount # $2=optionname (for root and etc) +# $3=panic if device is missing (true or false, default: true) # Sets $DEV to the resolved device node local_device_setup() { local dev_id="$1" local name="$2" + local may_panic="${3:-true}" local real_dev local uptime @@ -101,6 +103,10 @@ local_device_setup() # We've given up, but we'll let the user fix matters if they can while ! real_dev=$(resolve_device "${dev_id}") || ! get_fstype "${real_dev}" >/dev/null; do + if ! $may_panic; then + echo "Gave up waiting for ${name}" + return 1 + fi echo "Gave up waiting for ${name} device. Common problems:" echo " - Boot args (cat /proc/cmdline)" echo " - Check rootdelay= (did the system wait long enough?)"
Attachment:
signature.asc
Description: Digital signature