|
|
|
@ -106,64 +106,42 @@ getarg 'rdbreak=initqueue' && emergency_shell "Break before initqueue"
@@ -106,64 +106,42 @@ getarg 'rdbreak=initqueue' && emergency_shell "Break before initqueue"
|
|
|
|
|
|
|
|
|
|
i=0 |
|
|
|
|
while :; do |
|
|
|
|
# bail out, if we have mounted the root filesystem |
|
|
|
|
[ -d "$NEWROOT/proc" ] && break; |
|
|
|
|
|
|
|
|
|
# check if root can be mounted |
|
|
|
|
[ -e /dev/root ] && break; |
|
|
|
|
check_finished && break |
|
|
|
|
|
|
|
|
|
udevsettle |
|
|
|
|
|
|
|
|
|
# bail out, if we have mounted the root filesystem |
|
|
|
|
[ -d "$NEWROOT/proc" ] && break; |
|
|
|
|
# check if root can be mounted |
|
|
|
|
[ -e /dev/root ] && break; |
|
|
|
|
check_finished && break |
|
|
|
|
|
|
|
|
|
unset queuetriggered |
|
|
|
|
if [ -f /initqueue/work ]; then |
|
|
|
|
rm /initqueue/work |
|
|
|
|
queuetriggered="1" |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
for job in /initqueue/*.sh; do |
|
|
|
|
[ -e "$job" ] || break |
|
|
|
|
job=$job . $job |
|
|
|
|
|
|
|
|
|
# bail out, if we have mounted the root filesystem |
|
|
|
|
[ -d "$NEWROOT/proc" ] && break; |
|
|
|
|
# check if root can be mounted |
|
|
|
|
[ -e /dev/root ] && break; |
|
|
|
|
check_finished && break 2 |
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
[ -n "$queuetriggered" ] && continue |
|
|
|
|
|
|
|
|
|
if $UDEV_QUEUE_EMPTY >/dev/null 2>&1; then |
|
|
|
|
|
|
|
|
|
modprobe scsi_wait_scan && rmmod scsi_wait_scan |
|
|
|
|
|
|
|
|
|
$UDEV_QUEUE_EMPTY >/dev/null 2>&1 || continue |
|
|
|
|
$UDEV_QUEUE_EMPTY >/dev/null 2>&1 || continue |
|
|
|
|
|
|
|
|
|
unset queuetriggered |
|
|
|
|
for job in /initqueue-settled/*.sh; do |
|
|
|
|
[ -e "$job" ] || break |
|
|
|
|
modprobe scsi_wait_scan && rmmod scsi_wait_scan |
|
|
|
|
|
|
|
|
|
queuetriggered="1" |
|
|
|
|
$UDEV_QUEUE_EMPTY >/dev/null 2>&1 || continue |
|
|
|
|
|
|
|
|
|
job=$job . $job |
|
|
|
|
|
|
|
|
|
# bail out, if we have mounted the root filesystem |
|
|
|
|
[ -d "$NEWROOT/proc" ] && break 2; |
|
|
|
|
for job in /initqueue-settled/*.sh; do |
|
|
|
|
[ -e "$job" ] || break |
|
|
|
|
job=$job . $job |
|
|
|
|
check_finished && break 2 |
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
# check if root can be mounted |
|
|
|
|
[ -e /dev/root ] && break 2; |
|
|
|
|
done |
|
|
|
|
$UDEV_QUEUE_EMPTY >/dev/null 2>&1 || continue |
|
|
|
|
|
|
|
|
|
# no more udev jobs and queues empty. |
|
|
|
|
sleep 0.5 |
|
|
|
|
i=$(($i+1)) |
|
|
|
|
[ $i -gt 20 ] \ |
|
|
|
|
&& { flock -s 9 ; emergency_shell "No root device found"; } 9>/.console_lock |
|
|
|
|
fi |
|
|
|
|
# no more udev jobs and queues empty. |
|
|
|
|
sleep 0.5 |
|
|
|
|
i=$(($i+1)) |
|
|
|
|
[ $i -gt 20 ] \ |
|
|
|
|
&& { flock -s 9 ; emergency_shell "No root device found"; } 9>/.console_lock |
|
|
|
|
done |
|
|
|
|
unset job |
|
|
|
|
unset queuetriggered |
|
|
|
|