ISO/hooks/boot-usb
Simo Leone a24b40c5d2 Wait for USB devices to settle before scanning
We weren't able to pick up usb devices at all,
because the kernel takes its sweet time realizing
that they're there.

Signed-off-by: Simo Leone <simo@archlinux.org>
2008-04-02 02:23:00 -05:00

36 lines
914 B
Bash

run_hook ()
{
msg ":: Waiting for usb devices to settle..."
/sbin/udevtrigger --subsystem-match=usb
/sbin/udevsettle
sleep 5
msg ":: Scanning for boot usb device..."
/bin/mkdir -p /bootmnt
bootmnt="/bootmnt"
found=0
for usb in /dev/sd[a-z][0-9]; do
if mount -r -t vfat "${usb}" ${bootmnt} >/dev/null 2>&1 ||\
mount -r -t ext2 "${usb}" ${bootmnt} >/dev/null 2>&1; then
if [ -e "${bootmnt}/archlive.sqfs" ]; then
found=1
msg "${usb}"
break
fi
else
echo "Failed to mount ${usb}"
fi
[ ${found} -eq 0 ] && umount ${bootmnt} >/dev/null 2>&1
done
if [ ${found} -eq 0 ]; then
echo "ERROR: cannot find booted usb device, cannot continue..."
exit 1
else
export BOOT_MOUNT="${bootmnt}"
fi
}
# vim:ft=sh:ts=4:sw=4:et: