[syslinux] USB question

Josh Lehan jlehan at scyld.com
Wed Apr 12 16:34:16 PDT 2006


Rich Mahn wrote:
> The BIOS on my laptop does not support booting from USB.
> I would like to be able to have my Windows XP on a partition
> on a USB disk drive and be able to run from the USB disk using
> perhaps a CD or floppy to bootstrap the system.
> My questions:
>   1). Is there a way to use syslinux and friends to do this?
>   2). If not, is there some other boot loader that may work?
>   3). Is there any hope at all?
> 
> Rich

I have also wanted to do this.

Googling "usb boot floppy", I see lots of disks that will boot into some 
flavor of MS-DOS and load USB drivers, giving you drive letter access to 
some USB devices and filesystems, but this won't be of any help to 
actually boot.

I wonder if some COMBOOT program could be made, executable from SYSLINUX 
(or DOS directly), that would search for all USB devices and then 
chain-boot to them.

I know that chain-booting from a floppy has been done for at least 
CD-ROM drives, for old BIOS's that do not understand how to boot from CD:
http://btmgr.webframe.org/

I also rolled something together myself, for chain-booting from a floppy 
(or CD) to a network card.  It uses SYSLINUX to boot the floppy and 
detect the PCI card, then loads Etherboot to do a PXE boot over the network:
ftp://ftp.scyld.com/private/jlehan/pxe-on-a-disk.html

However, I know of nothing that will do this for USB-based devices.  It 
would be a great thing if some guru could write a COMBOOT program to 
detect USB devices.  Then, it could be plugged into the above boot 
mechanisms, and we'd all be able to boot USB from any computer whose 
BIOS was capable of booting from a floppy (e.g. all of them)!

This would be tricky, though: the program would have to scan the PCI bus 
for USB controllers, support at least 3 different controller *HCI 
standards, then dig through the USB hierarchy, discovering hubs as 
needed, in order to reach USB devices behind hubs.  Once the device has 
been found, then it still needs to be commanded, and there's USB 
floppies, USB hard drives, USB ZIP drives, and various flavors of USB 
memory sticks and such!  By the time you had USB booting all sorted out, 
you would have written about half of an operating system.  And then, 
someone would demand you also support FireWire :)

So, anybody want to take on the project of getting USB booting working...?

Josh




More information about the Syslinux mailing list