04.08.2010
Booting a Linux Kernel from USB
von mks.
I am building a custom Linux image to boot on the RoBoard-100 for our FALTER project. As I am currently not in the institute, where the board is, I am trying to boot the generated image in qemu and from a USB stick on my laptop and desktop computers. Booting from qemu works fine, however, booting from USB doesn’t. The Kernel always panics, because it can’t find the root filesystem:
VFS: Cannot open root device "sda1" or unknown-block(8,1)
Please append a correct "root=" boot option; here are the available partitions:
The list of available partitions is empty, even if everything necessary for USB mass storage is compiled in (no modules!): SCSI, SCSI disk, USB, UHCI/OHCI, USB mass-storage.
The problem is, that the Kernel does USB probing in a separate thread and recognizes the USB stick after it’s done with the normal hardware probing and tries to mount the root fs. If you need to boot from USB, a workaround for this problem is the kernel boot parameter rootdelay (e.g. rootdelay=5).
I’ll just stick with booting from IDE, when I’m in the institute again next week.
04.11.2011
01:54
Jay ¶
I know this is old, but in case anyone else makes it here from the interwebs… You can work around this issue with the ‘rootdelay’ kernel option. I did it with: rootdelay=5
04.11.2011
16:43
mks ¶
Jay, thanks for the hint. I updated the article.