--- /usr/lib/dracut/modules.d/99base/init.original 2012-01-23 03:49:19.000000000 -0500 +++ /usr/lib/dracut/modules.d/99base/init 2012-02-02 23:20:14.550818490 -0500 @@ -214,11 +214,11 @@ export main_loop while :; do - check_finished && break + check_finished udevsettle - check_finished && break + check_finished if [ -f $hookdir/initqueue/work ]; then rm $hookdir/initqueue/work @@ -227,7 +227,7 @@ for job in $hookdir/initqueue/*.sh; do [ -e "$job" ] || break job=$job . $job - check_finished && break 2 + check_finished done $UDEV_QUEUE_EMPTY >/dev/null 2>&1 || continue @@ -235,7 +235,7 @@ for job in $hookdir/initqueue/settled/*.sh; do [ -e "$job" ] || break job=$job . $job - check_finished && break 2 + check_finished done $UDEV_QUEUE_EMPTY >/dev/null 2>&1 || continue @@ -265,7 +265,7 @@ main_loop=0 done fi - + check_finished && break main_loop=$(($main_loop+1)) [ $main_loop -gt $RDRETRY ] \ && { flock -s 9 ; emergency_shell "Unable to process initqueue"; } 9>/.console_lock