From 9f0ccdcc8bf12e052f95ee429904052b28bc5f67 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Mon, 6 Jul 2009 10:02:48 +0000 Subject: init: we add a 1 sec delay to wait for slow usb-1 controllers --- initramfs-init.in | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/initramfs-init.in b/initramfs-init.in index 702c32d..aa251b7 100755 --- a/initramfs-init.in +++ b/initramfs-init.in @@ -128,6 +128,24 @@ rc_add() { ln -sf /etc/init.d/$1 $sysroot/etc/runlevels/$2/$1 } +# we have issues with some slow usb 1 hosts so we add 1 second delay +# with possibility to increase delay at boot prompt with usbdelay= +find_ovl_dev() { + local n i + # look for apkovl + for n in $(seq 0 ${KOPT_usbdelay:-1}); do + # wait for usb to settle if needed + wait_usb + for i in usb floppy cdrom; do + mount /media/$i 2>/dev/null || continue + ovl=$(find_ovl /media/$i) + [ -f "$ovl" ] && return + umount /media/$i 2>/dev/null + done + sleep 1 + done +} + # gotta start from somewhere :) echo "Alpine Init $VERSION" @@ -258,16 +276,7 @@ if [ -n "$KOPT_root_size" ]; then fi mount -t tmpfs $root_opts tmpfs $sysroot -# wait for usb to settle if needed -wait_usb - -# look for apkovl -for i in usb floppy cdrom; do - mount /media/$i 2>/dev/null || continue - ovl=$(find_ovl /media/$i) - [ -f "$ovl" ] && break - umount /media/$i 2>/dev/null -done +find_ovl_dev if ! [ -f "$ovl" ]; then ovl=$(find_ovl $ALPINE_MNT) fi -- cgit v1.2.3