Update, September 2016:
I’m leaving a tl;dr-ified version of the article up, but please note that I have no idea whether this procedure still works. Or whether it’s still relevant.
You might encounter a strange error message when trying to boot Arch from a USB drive:
Boot device didn't show up after 30 seconds
Arch then drops you to an initramfs shell, without any hint to what you should do. Here’s the hint.
Step 1: you need to know what device name Arch expects. It’ll be something along the lines of
/dev/disk/by-label/ARCH_something and Arch should display it right before the error message. Write this down somewhere!
Step 2: you need to figure out what block device your USB drive has been assigned to. USB flash drives are managed by the SCSI subsystem for some reason, so you’ll need to use this command to get a list of all allegedly-SCSI drives on your system:
Take whatever CD drives (
scd*) are there out of the picture and look at which position your USB drive occupies. For example, if it occupies the second position, it’ll probably be
/dev/sdb1. For the third, it probably is
Step 3: type the following command:
ln -sf [usb-device] [arch-device]
[usb-device] with the USB drive’s blockdevice (e.g. /dev/sda1) and
[arch-device] with the device Arch expects.
Step 4: hit Control-D.