[solved] Hard drive not found during boot, dropping into emergency shl

I have done quite a few Arch installations, but this problem baffles me. I'm installing Arch on a 2006 iMac, which has a 32-bit EFI, but a 64-bit CPU, after I replaced the Core Duo with a Core 2 Duo. This all works pretty well, and after some initial hurdles I got GRUB to boot, and eventually get a kernel loaded as well. The problem right now is that as the kernel tries to boot, it drops down into an emergency shell because the entries in fstab can't be mounted. Looking at lsscsi, the hard drive is not found at all, although the ATA drivers are loaded (see pictures below). I checked mkinitcpio, and all the right hooks are there. I've tried regenerating the grub config, reinstalling grub, updating the system, regenerating the initramfs, all to no avail. I can boot from a modified installation CD[0] without a problem, and can chroot into my system just fine. What could cause an issue like this?