initram: wait for usbdisk to settle

This commit is contained in:
Natanael Copa 2009-03-27 15:25:32 +00:00
parent 1e3647e710
commit d9b6e4ec17

View File

@ -198,6 +198,13 @@ eend 0
mount -t tmpfs tmpfs $NEWROOT mount -t tmpfs tmpfs $NEWROOT
# look for apkovl # look for apkovl
if dmesg | grep '^usb-storage: waiting' >/dev/null; then
ebegin "Waiting for USB device to settle"
while ! dmesg | grep 'usb-storage: device scan complete' >/dev/null; do
sleep 1
done
eend 0
fi
for i in usb floppy cdrom; do for i in usb floppy cdrom; do
mount /media/$i 2>/dev/null || continue mount /media/$i 2>/dev/null || continue
ovl=$(find_ovl /media/$i) ovl=$(find_ovl /media/$i)
@ -212,7 +219,7 @@ if [ -f "$ovl" ]; then
ebegin "Loading user settings from $ovl" ebegin "Loading user settings from $ovl"
tar -C $NEWROOT -zxf "$ovl" tar -C $NEWROOT -zxf "$ovl"
eend $? eend $?
umount /media/$i 2>/dev/null umount /media/$i 2>/dev/null &
pkgs=$(sed 's/\#.*//' $NEWROOT/etc/lbu/packages.list 2>/dev/null) pkgs=$(sed 's/\#.*//' $NEWROOT/etc/lbu/packages.list 2>/dev/null)
fi fi
@ -255,9 +262,9 @@ cat /proc/mounts | while read DEV DIR TYPE OPTS ; do
mount -o move $DIR $NEWROOT/$DIR mount -o move $DIR $NEWROOT/$DIR
fi fi
done done
ln -sf /.modloop/modules $NEWROOT/lib/modules
sync sync
ln -sf /.modloop/modules $NEWROOT/lib/modules
echo "" echo ""
if [ -x $NEWROOT/sbin/init ]; then if [ -x $NEWROOT/sbin/init ]; then
exec /bin/busybox switch_root $NEWROOT $chart_init /sbin/init $KOPT_init_args exec /bin/busybox switch_root $NEWROOT $chart_init /sbin/init $KOPT_init_args