Boot Loader

Upon power on the board will search for the boot media. It will perform the following:

  • 1) iROM (Code inside the SoC) will attempt to read the boot media at the first 512 bytes of it. On those first 512 bytes fwbl1 should exist.
  • 2) fwbl1 will load bl2 (SPL) that is part of the U-boot.
  • 3) bl2 will load U-boot.
  • 4) U-Boot will do whats left, such as handle TrustZone, load kernel image if setted.

fwbl1

This blob is the first thing that CPU will call, we don't have much information on it since its provided by Samsung.
Position on SD: 1

bl2

This is the SPL, part of the U-Boot, upon building U-Boot you'll have the mkspl program what will extract it from the u-boot.bin
Position on SD: 31

u-boot.bin

This is the U-Boot itself built. For more information about U-Boot please check their website: http://www.denx.de/wiki/U-Boot
Position on SD: 63

TrustZone Software

This is the blob done by Samsung/ARM to support Trustzone platform.
Position on SD: 719

Default Env

The default env provided in U-Boot will attempt the following:

  • 1) Load boot.ini script from the first FAT type partition from the boot media.
  • 2) Load kernel from its on media/ramdisk position (This is the Android Boot)