Boot Loaders

The boot loader is a utility that is an integral part of the OEM device development process and, in some cases, the boot loader is also included in the final OEM product. The general purpose of the boot loader is to place the OS image into memory and then jump to the OS startup routine. The boot loader can obtain the OS image in a number of different ways, including loading it over a cabled connection, such as Ethernet, universal serial bus (USB), or serial. The boot loader also loads the OS from a local storage device, such as Compact Flash, or hard disk. The boot loader may store the OS image in RAM or in nonvolatile storage, such as flash memory, electrically erasable programmable read only memory (EEPROM), or some other storage device for later use.

You typically use the boot loader during the board support package (BSP) development process to save time. Rather than having you transfer the development OS image to the target device through a manual process, such as a flash programmer or the IEEE 1149.1 standard for the test access port and boundary scan (JTAG), with the boot loader, you can quickly download a new development OS image to the target device. In many final product solutions, the boot loader is removed from the product and the system reset process bootstraps the OS image, which is stored on the device. However, platforms that do not efficiently support this ability, such as x86 platforms, or platforms that need to perform pre-boot tasks, such as OS image updates, may include the boot loader in the final product. For more information on how to develop a boot loader from the ground up, see How to Develop a Boot Loader.

Each boot loader differs in the tasks it carries out and the way it performs them. The following topics provide descriptions of some of the common behaviors among boot loaders, as well as the libraries and functions used to develop a boot loader.

For more information about Windows CE–based boot loaders, see the following topics:

The most common boot loader downloads the OS image over Ethernet into target device RAM. Many of the related topics focus on this most common boot loader; however, the basic infrastructure remains the same for all boot loaders.

See Also

Board Support Packages | OEM Adaptation Layer | Board Support Package Development

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.