User`s guide

Secure Boot with i.MX28 HAB Version 4, Rev. 1
Freescale Semiconductor 17
Signed U-Boot and Linux kernel example
// Absolute address of the Boot Data: may be NULL, but not
// interpreted any further by HAB
NULL,
// Absolute address of the IVT
(const void*) (&input_ivt),
// Absolute address of the image CSF (CSF data generated by cst)
(const void*) (&__hab_data),
// Reserved in this version of HAB: should be zero.
0
},
// image length including CSF data calculated from linker symbol __hab_data_end
// and BASE_ADDR, defined in Makefile and used at compile time
(const void*) (&__hab_data_end) BASE_ADDR;
};
3. Finally changes are required to the boot descriptor file (.bd or BD file) for use with Elftosb to
generate a final bootable image with HAB data. For sample u-boot BD and Linux kernel BD files,
refer to Section 4.1, “Sample boot descriptor file used for u-boot Image,” and Section 4.2,
“Sample boot descriptor file used for Linux kernel image.”
4 Signed U-Boot and Linux kernel example
U-Boot is a bootloader commonly used to boot a Linux device and is provided in the Freescale Linux BSP.
i.MX28 specific U-Boot consists of three ELF files:
power_prep
boot_prep
u-boot
Power_prep and Boot_prep are bootlet images that are used to prepare the board and initialize the external
memory before loading the u-boot image. Bootlets are also part of Linux BSP with imx-bootlets-src
package. For secure boot we need to generate HAB data for all three ELF files. The streaming boot
architecture of i.MX28 enables all three signed images with HAB data to reside in the same SB file. The
boot descriptor file described in Section 4.1, “Sample boot descriptor file used for u-boot Image,” dictates
the sequence of boot commands in the bootable section of u-boot SB file.
Similarly the Linux kernel of i.MX28 consists of power_prep, boot_prep, linux_prep and zImage boot
components and the sequence of boot commands in the bootable section of Linux SB file is shown in
Section 4.2, “Sample boot descriptor file used for Linux kernel image.”