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