1 Introduction
bootloader
A computer's central processor can only execute program code foundin ROM (Read Only Memory), RAM (random access memory), or (for some computersof the 1950s through 1970s) switches on an operator's front panel. Modernoperating systems, application code, and data are stored on nonvolatile datastorage devices, such as hard drivers, CDs, DVDs, flash memory cards(like SDcards), USB flash drivers, and floppy disks. When a computer is first poweredon, it usually does not have an operating system in ROM or RAM. The computermust execute a relatively small program stored in ROM, along with the bareminimum of data needed to access the nonvolatile devices from which theoperating system programs and data may be loaded into RAM.
The smallprogram that starts this sequence is known as a bootstrap loader, bootstrap orboot loader. This small program'sonly job is to load other data and programs which are then executed from RAM.Often, multiple-stage boot loaders are used, during which several programs ofincreasing complexity load one after the other in a process of chain loading.
Uboot
Abootloader for Embedded boards based on PowerPC, ARM, MIPS and several otherprocessors, which can be installed in aboot ROM and used to initialize and test hardware or to download and runapplication code.
References
1. http://en.wikipedia.org/wiki/Booting
2.uboot source code: README