Table of Contents
Boot Loader
Boot Media
On ODROID-XU3 is a DIP Switch (sw1) to select the booting Device and CCI Disable/Enable.
SW1-1(Left of Dip Switch) | 1st Boot media |
---|---|
OFF | MicroSD card |
ON | eMMC |
SW1-2(Right of Dip Switch) | CCI |
---|---|
OFF | Disable |
ON | Enable |
SW1-2 MUST be ON(CCI Enable) in order to boot properly.
Boot Sequence
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)