diff options
author | Fabio Erculiani <lxnay@sabayon.org> | 2011-01-12 00:12:25 +0100 |
---|---|---|
committer | Fabio Erculiani <lxnay@sabayon.org> | 2011-01-12 00:12:25 +0100 |
commit | 51e0b14044fd2ba27782e2267e99fab49f7a416d (patch) | |
tree | 55dffbf1655149912e58e6434165963d69792600 /defaults | |
parent | Check return codes of cpio (lessen from bug #246370) (diff) | |
download | genkernel-51e0b14044fd2ba27782e2267e99fab49f7a416d.tar.gz genkernel-51e0b14044fd2ba27782e2267e99fab49f7a416d.tar.bz2 genkernel-51e0b14044fd2ba27782e2267e99fab49f7a416d.zip |
slowusb: ease the code in order to reduce entropy, one place for one thing.
There were several places where a mixture of sdelay and "sleep 10"
were called without worrying too much, resulting in slower boot
time, mainly. This commit should fix the mess and make some order
in the slowusb saga.
Diffstat (limited to 'defaults')
-rwxr-xr-x | defaults/initrd.scripts | 23 | ||||
-rwxr-xr-x | defaults/linuxrc | 14 |
2 files changed, 17 insertions, 20 deletions
diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index f14333a3..4da69684 100755 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -410,17 +410,23 @@ setup_hotplug() { fi } -check_slowusb() { +setup_slowusb() { + # slowusb already set? + if [ "${DO_slowusb}" = "1" ] + then + return + fi + local usb_storage_dir="/sys/bus/usb/drivers/usb-storage" if [ ! -d "${usb_storage_dir}" ] then + # no automated slowusb required. no usb-storage devices attached. return fi - [ "${DO_slowusb}" ] || \ for x in "${usb_storage_dir}"/* do [ -d "${x}" ] && [ "${x}" != "${usb_storage_dir}/module" ] \ - && { FORCE_slowusb="1" ; break ; } + && { DO_slowusb="1" ; break ; } done } @@ -428,13 +434,8 @@ start_dev_mgr() { if [ "${KV_2_6_OR_GREATER}" ] then cd /sys - [ "${DO_slowusb}" ] && sdelay - check_slowusb - [ "${FORCE_slowusb}" ] && sdelay good_msg 'Activating mdev' runmdev - [ "${DO_slowusb}" ] || \ - [ "${FORCE_slowusb}" ] && sdelay cd / fi } @@ -881,12 +882,12 @@ startLUKS() { sdelay() { # Sleep a specific number of seconds if SDELAY is set otherwise only sleep - # 1 second - if [ -n "${SDELAY}" ] + # 3 seconds, which is a much better default than 1 second (previous default) + if [ "${SDELAY}" ] then sleep ${SDELAY} else - sleep 1 + sleep 3 fi } diff --git a/defaults/linuxrc b/defaults/linuxrc index d8734509..1b2f3c22 100755 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -289,6 +289,11 @@ fi # Delay if needed for USB hardware sdelay +# Setup slow USB bits +setup_slowusb +# if doslowusb is passed, pause other 10 seconds +[ "${DO_slowusb}" ] && sleep 10 + # Start device manager start_dev_mgr @@ -675,10 +680,6 @@ then fi done - if [ "${DO_slowusb}" ] || [ "${FORCE_slowusb}" ] - then - sleep 10 - fi mkdir initramfs proc tmp sys 2>/dev/null chmod 1777 tmp @@ -694,11 +695,6 @@ then # Let Init scripts know that we booted from CD export CDBOOT CDBOOT=1 - check_slowusb - if [ "${DO_slowusb}" ] || [ "${FORCE_slowusb}" ] - then - sleep 10 - fi else if [ "${USE_UNIONFS_NORMAL}" = '1' ] then |