1. boot process

  • When the Raspberry Pi is first turned on, the ARM core is off, and the GPU core is on.

  • At this point the SDRAM is disabled.

  • The GPU starts executing the first stage bootloader, which is stored in ROM on the SoC.

  • The first stage bootloader reads the SD card, and loads the second stage bootloader bootcode.bin into the L2 cache, and runs it.

  • bootcode.bin enables SDRAM, and reads the third stage bootloader loader.bin from the SD card into RAM, and runs it.

  • loader.bin reads the GPU firmware start.elf.

  • start.elf reads config.txt, cmdline.txt and kernel7.img.

./pic/boot_process.png

2. minimum files

bcm2710-rpi-3-b.dtb
bootcode.bin
fixup.dat
start.elf
kernel7.img
config.txt