diff options
author | maximilian attems <maks@debian.org> | 2006-03-26 22:37:51 +0200 |
---|---|---|
committer | maximilian attems <maks@debian.org> | 2006-03-26 22:37:51 +0200 |
commit | fac756fddb6da3efbbfe99c3c9b0644346ecc695 (patch) | |
tree | 3910cbeb5566ab766aeb50a4eb4ac9d3067cbb46 /scripts/local | |
parent | 4b5cc6ce7567a7075802dd8c3e47dd7cf8e84627 (diff) | |
download | initramfs-tools-fac756fddb6da3efbbfe99c3c9b0644346ecc695.tar.gz initramfs-tools-fac756fddb6da3efbbfe99c3c9b0644346ecc695.zip |
Resynch with 0.40ubuntu28
add raid10 module
move the loop waiting code to mountroot()
leaves only ide-generic from scripts/local-top/udev_helper
md pre-requesites the udev one
Diffstat (limited to 'scripts/local')
-rw-r--r-- | scripts/local | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/scripts/local b/scripts/local index 917528a..dd5924d 100644 --- a/scripts/local +++ b/scripts/local @@ -7,7 +7,31 @@ mountroot () run_scripts /scripts/local-top [ "$quiet" != "y" ] && log_end_msg - # Get the root filesystem type + # If the root device hasn't shown up yet, give it a little while + # to deal with removable devices + if [ ! -e "${ROOT}" ]; then + log_begin_msg "Waiting for root file system..." + if [ -x /sbin/usplash_write ]; then + /sbin/usplash_write "TIMEOUT 180" || true + fi + + slumber=1800 + while [ ${slumber} -gt 0 -a ! -e "${ROOT}" ]; do + /bin/sleep 0.1 + slumber=$(( ${slumber} - 1 )) + done + + if [ ${slumber} -gt 0 ]; then + log_end_msg 0 + else + log_end_msg 1 || true + fi + if [ -x /sbin/usplash_write ]; then + /sbin/usplash_write "TIMEOUT 15" || true + fi + fi + + # We've given up, but we'll let the user fix matters if they can while [ ! -e "${ROOT}" ]; do panic "ALERT! ${ROOT} does not exist. Dropping to a shell!" done |