Table 2. Image files for i.MX 8QuadMax and i.MX 8QuadXPlus (continued)
u-boot-imx8qm-trusty.imx Three containers, one is signed by NXP, and the other two are not signed, assembled
with two files generated by mkimage_imx8.
u-boot-imx8qxp-trusty.imx Three containers, one is signed by NXP, the other two are not signed, assembled
with two files generated by mkimage_imx8.
If SPL is enabled, single bootloader image like "u-boot-imx8qm-trusty.imx" is assembled with two files generated by
mkimage_imx8. In fact, dual bootloader condition keeps these two files separated as you can see in the preceding table,
while single bootloader condition appends one file after another at 1 KB aligned boundary.
5. Get the layout information of containers in a file.
Layout information is needed when signing the container. To be more specific, it is the offset information of the container
and the container signature block in a file. Code signing tool uses these offsets to locate the container in a file. The layout
information can be found in make_android.txt just generated. With the following principles, the offset of the container to
be signed in a file can be easily found.
The generated files with containers to be signed mentioned before are built based on different U-Boot defconfig files.
Different U-Boot compilation targets with different U-Boot defconfig files can be found in ${MY_ANDROID}/device/fsl/
imx8q/mek_8q/BoardConfig.mk. Android Auto related part is listed below, with some annotations.
# bootloader-imx8qm.img and spl-imx8qm.bin
TARGET_BOOTLOADER_CONFIG := imx8qm:imx8qm_mek_androidauto_trusty_defconfig
# bootloader-imx8qm-secure-unlock.img and spl-imx8qm-secure-unlock.bin
TARGET_BOOTLOADER_CONFIG += imx8qm-secure-
unlock:imx8qm_mek_androidauto_trusty_secure_unlock_defconfig
# bootloader-imx8qxp.img and spl-imx8qxp.bin
TARGET_BOOTLOADER_CONFIG += imx8qxp:imx8qxp_mek_androidauto_trusty_defconfig
# bootloader-imx8qxp-c0.img and spl-imx8qxp-c0.bin
TARGET_BOOTLOADER_CONFIG += imx8qxp-c0:imx8qxp_mek_androidauto_trusty_defconfig
# bootloader-imx8qxp-secure-unlock.img and spl-imx8qxp-secure-unlock.bin
TARGET_BOOTLOADER_CONFIG += imx8qxp-secure-
unlock:imx8qxp_mek_androidauto_trusty_secure_unlock_defconfig
# bootloader-imx8qm.img and spl-imx8qm.bin
TARGET_BOOTLOADER_CONFIG := imx8qm:imx8qm_mek_androidauto2_trusty_defconfig
# bootloader-imx8qm-md.img and spl-imx8qm-md.bin
TARGET_BOOTLOADER_CONFIG += imx8qm-md:imx8qm_mek_androidauto2_trusty_md_defconfig
# bootloader-imx8qxp.img and spl-imx8qxp.bin
TARGET_BOOTLOADER_CONFIG += imx8qxp:imx8qxp_mek_androidauto2_trusty_defconfig
# bootloader-imx8qxp-c0.img and spl-imx8qxp-c0.bin
TARGET_BOOTLOADER_CONFIG += imx8qxp-c0:imx8qxp_mek_androidauto2_trusty_defconfig
# u-boot-imx8qm.imx
TARGET_BOOTLOADER_CONFIG := imx8qm:imx8qm_mek_android_defconfig
# u-boot-imx8qxp.imx
TARGET_BOOTLOADER_CONFIG += imx8qxp:imx8qxp_mek_android_defconfig
# u-boot-imx8qxp-c0.imx
TARGET_BOOTLOADER_CONFIG += imx8qxp-c0:imx8qxp_mek_android_defconfig
# u-boot-imx8qm-trusty.imx
TARGET_BOOTLOADER_CONFIG += imx8qm-trusty:imx8qm_mek_android_trusty_defconfig
# u-boot-imx8qm-trusty-secure-unlock.imx
TARGET_BOOTLOADER_CONFIG += imx8qm-trusty-secure-
unlock:imx8qm_mek_android_trusty_secure_unlock_defconfig
# u-boot-imx8qxp-trusty.imx
TARGET_BOOTLOADER_CONFIG += imx8qxp-trusty:imx8qxp_mek_android_trusty_defconfig
# u-boot-imx8qxp-trusty-c0.imx
TARGET_BOOTLOADER_CONFIG += imx8qxp-trusty-c0:imx8qxp_mek_android_trusty_defconfig
# u-boot-imx8qxp-trusty-secure-unlock.imx
TARGET_BOOTLOADER_CONFIG += imx8qxp-trusty-secure-
NXP Semiconductors
Customization work on i.MX Android Security Features
i.MX Android
™
Security User's Guide, Rev. android-10.0.0_2.4.0, 15 July 2020
User's Guide 8 / 38