Hi all,

I am attempting to make XP boot over USB (1.1 or 2.0). I know that this type
of booting is "unsupported" by Microsoft. In fact, you cant even install XP
on a USB drive. However, if the bios supports it, it is possible to boot
from USB form a pre-installed version of XP.

First, I really think that there is no need for any driver developpement
since XP has every driver needed to boot over USB. My first attempt at a
boot from USB resulted in a reboot after MUP.sys. Now it crossed my mind
that maybe USB was not enabled at boot time so I created a new Group called
USB miniport and USB storage and placed usbehci.sys, usbohci, usbhub and
usbstor right after SCSI miniport in load order. I also changed the types so
that USB is loaded at kernel time.

I boot in /sos and see the USB drivers load right after the SCSI miniport.
Unfortunetly, no luck I still have a reboot after MUP.sys.

I then installed DriverStudio to see if I could write a simple USB mass
storage driver to make things work. But after installing DriverStudio I
tried again to boot over usb to see what happens with SoftIce and behold:
the thing boots! It works even when you skip the boot message stating if you
would like to skip the debugging.

The only wierd part is that to log in to XP I now need to press cntl-alt-del
when it says "loading personnal setings..." when you click on your username
because it freezes.

I investigated and found that SoftIce creates a group called NTIce that
loads 4 drivers: nwfilter, sigvid, sigsym and ntice. Now something in these
drivers is causing the USB boot to work. I just have no idea what that is.

My idea is that sigsiv is printing a message on the screen saying "Do you
want to load .... (press ESC to skip)" and waits a couple of seconds. Is it
possible that this give the USB drivers enough time to enumerate the storage
disk and boot or are these 4 drivers doing some obscure thing that would
suddenly make the USB boot work? I know that sigsiv does more than just
print a message to the screen. It must capture mouse events and connect to
the VGA adapter to print the message. Maybe this is what is causing the boot
to work for some unknown reason...

Without this knowledge what approach could I use to boot over USB? Would it
be a good approach to write an upper layer driver that would make the glue
between USBSTOR and the primary boot disk drivers? Should I write my own USB
storage driver which I could then use in the installation of XP using F6 in
the textual part?

What options do you think would work?

Thanks in advance for any help,
Daniel Shane