1.3 U-Boot Bootloader
U-Boot is a powerful and flexible bootloader that can load applications from a wide variety of sources. A third-stage bootloader, such as U-Boot, can be used if more features are required to boot an image than those provided by at91bootstrap, such as booting from a network or from a device or filesystem that is not supported by the second-stage bootloader.
Similar to the Linux® kernel, U-Boot uses a Flattened Device Tree (FDT) to configure features such as GPIO, serial ports and other hardware devices used during the bootload process. U-Boot verifies the signature of the Flattened Image Tree (FIT) image (.itb file) loaded using the U-Boot command. The .itb file is generated after signing the .its files (Linux kernel, Linux dtb and initramfs) with a previously generated private key. A public key is extracted while signing the .its file and then embedded into the U-Boot control Device Tree Binary (DTB). The private key is used for signing.
