Monday, October 26, 2009

Get an USB Flash key booting DOS

While using Windows Embedded CE or Windows Embedded Standard, you need to boot your device under DOS, in order to format, create partition on the storage, or to use loadcepc to launch your runtime image. Nowadays, floppy disk readers are vintage hardware that you probably don't have anymore, and more over Floppy disk are covered of dust and you are afraid to use them. In this case you have to boot your device using a USB Flash disk, thanks to the fact that most of the actual BIOS do support them.

Tools
- HP USB Disk Storage Format Tool (http://hp-usb-disk-storage-format-tool.software.informer.com/)
- Winimage (http://www.winimage.com/download.htm)
- DOS floppy disk image (get from Windows Embedded CE 6 CEPC BSP)
%_WINCEROOT%\PLATFORM\CEPC\SRC\BOOTLOADER\DOS\BOOTDISK\DISKIMAGE\cepcboot.144

Extract the DOS image
For the first step we have to extract from the cepcboot.144 floppy disk image, the files for DOS. Using Winimage, open the image file, select all the files and go the Image->Extract. Enter c:\Temp\FloppyContent as a folder for the extracted files, and select "Extract with pathname" option.


Format the USB Flash disk
Plug the USB disk and wait for USB device availability notification.
Using the HP USB Disk tool, select the USB device in the list box, use FAT as File System, Select Create a DOS startup disk, choose "using DOS system files located at", and choose the folder used in winimage for the extraction.

Hit Start and voila your device is ready to boot dos. Then you can add the tools you need to prepare the device to boot...

Note
I have identified some USB devices that, are not compatible, cannot be used for booting x86 devices, but did not find the link between them.
This tutorial should also work with Compact Flash devices and SDCard (miniSD, microSD) devices.

Thanks to Eric for his help.
-Nicolas

2 comments:

Kashyap Gada said...

I followed the process you wrote but it doesnot work. It shows an error related to NON System file on booting.

Nicolas BESSON said...

Could you be more specific on the error ?