Last night and today I've been trying to migrate my Argh Arch Linux server install from a SATA to a CF-Card (connected via an IDE adapter from DealExtreme). It should have been a straight forward thing, but when I had moved my system over (/ filesystem, /boot and set up the bootloader correctly) the thing would not boot up correctly.
At first it was failing to activate my second LVM2 volume group (the one that my root filesystem was on) in the LVM hook. A regeneration of the initcpio image took care of that.
But then it hangs on "waiting for udev uevents to be processed". Which is even stranger, because when I boot the same system from the SATA drive init works entirely as expected. And it does not even time out and tell me what uevent it is waiting for like it should. So I try the -lts kernel, the fallback images, using the "verbose" kernel flag, unplugging all usb devices; all fails in more or less the same way.
Then suddenly XX boots later, when I was ready to let the whole thing go, udev times out and tell me its waiting for "/dev/snd/sequencer". Apparently when booting from said IDE adapter, and only then, my soundcard (an M-Audio 2496 using the ice1712 alsa driver) messes up on this stock Arch kernel (stock Linux 220.127.116.11 and 18.104.22.168) . Hurrah.
Note to self: Removing all unnecessary components when troubleshooting is a sane strategy and will often save time even if it seems to be more effort: use it more often.
Published here in hopes that it would be useful to someone else.
UPDATE: after a couple of successful boots (but no software of system config changes) I put the card back in and... it works. I usually see computers as quite predictable, but not this.