I spent about two hours last night trying to figure out why I couldn’t trim the hooks and modules out of my mkinitcpio.conf file and still get a bootable system. No matter what combination I tried, I kept getting an abortive initial image that couldn’t find the root partition and left me at the minimal terminal. For a while I thought I was having this problem.
I think I’ve figured it out, but I’m probably off base … or still just learning.
My old setups, with the ancient Pentium II that I had been using, I always used the arch ide-legacy installation, which gave drives the old ATA /dev/hd? assignment. For yesterday’s installation, I tried the new system which gives them /dev/sd* names. But only my fallback image would boot, not the adjusted one, which I hoped would be faster.
In short, this was the combination I needed to get it going.
MODULES="piix_ata ext2"
HOOKS="base udev pata"
I had hoped to avoid udev, mostly because it takes too long to start. My old 300Mhz Pentium II was up and running in 36 seconds when I carved udev out of the solution, and this 1Ghz machine should do much better without it. Right now I get from grub to login in around 31 seconds with the fallback image, but 25 seconds with the above module/hook arrangement. (That’s with no other adjustments yet, except manual loading of modules.)
But I’m starting to wonder if the new ATA assignments require udev at some point. Because like I said, I wasn’t getting anywhere without it. My next step will be to experiment with the old ide-legacy setup, and see if that will move faster, since I know (unless it has changed in the last few months) that will boot without it.