First of all, yes, the answer to the initial question is: You have to boot from the SD card. Basically, the contents of the "boot" (i.e., "FAT") partition on the SD card has to be on the SD card.
jamesh wrote:Theoretically you can do the initial boot using the SD card then move to the USB device for the rest. Not sure if it has been tried yet though.
Oh, yes. It's been tried, done, and documented here in these forums (many times!)
To the OP: Think of the "boot" partition as being like the BIOS on a Windows/Intel PC. Think of the rest of the OS as being like the Windows OS itself. That "rest of the OS" can be on USB, with one caveat: The USB driver has to be in the kernel proper, not a module. This was a bugaboo in early releases of the images - USB was in a module, so you couldn't do this trick.
Note: It is also possible to boot from the network (someone has documented it here somewhere). Again, the initial boot (again, akin to the BIOS on a Windows/Intel PC) has to be on the SD card, but the rest of the OS is pulled from the network.
And some folks need to stop being fanboys and see the forest behind the trees.
(One of the best lines I've seen on this board lately)