When the power is first applied to the Raspberry Pi, or it has been reset, a boot sequence is initiated. It is actually the Pi’s GPU that brings up the ARM CPU. Originally, the way that the Raspberry Pi was designed, it had to be booted from firmware found on the SD card. RISC code for the GPU is provided by the Raspberry Pi Foundation in the file bootcode.bin. After the second-stage boot loader was executed, it was possible to load other operating systems or boot loaders, such as U-Boot.
Due to public interest, changes have been introduced along the way to allow a direct boot from USB. This chapter ...