7.7 Summary
This chapter examined the role of the bootloader and discovered the limited execution context in which a bootloader must exist. We covered one of the most popular bootloaders, U-Boot, in some detail. We walked through the steps of a typical port to a board with similar support in U-Boot. We briefly introduced additional bootloaders in use today so that you can make an informed choice for your particular requirements.
- The bootloader's role in an embedded system cannot be overstated. It is the first piece of software that takes control upon applying power.
- Das U-Boot has become a popular universal bootloader for many processor architectures. It supports a large number of processors, reference hardware platforms, and custom boards.
- U-Boot is configured using a series of configuration variables in a board-specific header file. Appendix B contains a list of all the standard U-Boot command sets supported in a recent U-Boot release.
- Porting U-Boot to a new board based on a supported processor is relatively straightforward.
- There is no substitute for detailed knowledge of your processor and hardware platform when bootloader modification or porting must be accomplished.
- You may need a device tree binary for your board, especially if it is Power Architecture and soon perhaps ARM.
7.7.1 Suggestions for Additional Reading
-
Application Note: Introduction to Synchronous DRAM
Maxwell Technologies
-
Using LD, the GNU linker
Free Software Foundation
-
The DENX U-Boot and Linux Guide (DLUG) for TQM8xxL
Wolfgang Denx, et al., Denx Software Engineering
-
RFC 793, "Trivial File Transfer Protocol"
The Internet Engineering Task Force
-
RFC 951, "Bootstrap Protocol"
The Internet Engineering Task Force
-
RFC 1531, "Dynamic Host Control Protocol"
The Internet Engineering Task Force
-
PowerPC 405GP Embedded Processor user manual
International Business Machines, Inc.
-
Programming Environments Manual for 32-bit Implementations of the PowerPC Architecture
Freescale Semiconductor, Inc.
-
Lilo Bootloader
-
GRUB Bootloader
-
Device tree documentation
Linux Kernel Source Tree
.../Documentation/powerpc/booting-without-of.txt
-
Device trees everywhere
David Gibson, Benjamin Herrenschmidt
-
Excellent list of flat device tree references
www.denx.de/wiki/U-Boot/UBootFdtInfo#Background_Information_on_Flatte