[coreboot] SeaBIOS and USB?

Richard Smith smithbone at gmail.com
Tue Dec 30 06:37:02 CET 2008

Kevin O'Connor wrote:

> Some info on the usb requirements:
> Mass storage requirements: The usb drive support looks to be straight
> forward.  There is a document describing the minimum commands a bios
> can expect to have from a drive capable of booting the machine (search
> usb_msc_boot_1.0.pdf).  It would seem that the 16bit code need only
> support sending BulkOut packets and receiving BulkIn packets.
> Interrupt support would not be needed, as the bios can poll for
> completion of requests.

(Hysterical laughter)  Prepare yourself.  Sure the basic set of commands 
seem simple enough.  The devil is in the details. USB mass storage is 
ugly.  There are so many quirky devices and ones that outright just 
don't work within the standard.

However, some middle ground is reachable.  At olpc we have a pretty good 
compromise of dealing with the quirks while not adding a lot of extra 
boot delays and crazy USB hoops.  I still answer a lot of support 
tickets with "try a different USB drive." though so its far from 
perfect.  Thankfully most drives are now cheap enough that you can just 
  try a new one.  The XO now works with enough of them that the chance 
of the 2nd one working is really high.  It took a fair bit of work to 
get there though.

Not trying to discourage you but expect a lot of exceptions if you want 
to support a wide range of the cheap drives.  Get used to hearing "But 
it works with Linux/Windows..."

Richard A. Smith
smithbone at gmail.com

More information about the coreboot mailing list