Bootable Image#
Bootable image is primarily intended for booting from the external memories, for other use cases refer to the Executable Images. Bootable image encapsulates the executable application images and adds additional data processed by the bootROM that are needed for boot, like for example configuration of the flash memories. The bootable image might consists of:
Keyblob for data decryption
Keystore
FlexSPI Configuration Block (FCB)
External Memory Configuration Data (XMCD)
Device Configuration Data (DCD) - The DCD contains configuration data to configure any peripherals.
Application Image - It might contain plain application image, HAB, AHAB image or MBI.
Generating Templates#
The bootable image configuration template can be generated using the nxpimage tool’s get-template command:
nxpimage bootable-image get-template -f <family> -m <memory_type> -o bootable_template.yaml
Generating Multiple Templates#
The get-templates command (note the plural) allows you to generate multiple template configurations at once:
nxpimage bootable-image get-templates -f <family> -o <output_directory>
When used without the --template option, this command generates:
- Standard templates for all memory types (legacy behavior)
- All extra templates in sub-folders, with board-specific variants
You can generate a specific template structure using the --template option:
nxpimage bootable-image get-templates -f <family> -o <output_directory> --template imx_boot_flash_all
Available template names include: imx_boot_flash_all and others depending on the family.
For board-specific configurations, use the --board option:
nxpimage bootable-image get-templates -f <family> -o <output_directory> --board imx95-19x19-lpddr5-evk
Use the list-boards command to see available boards for your family:
nxpimage bootable-image list-boards -f <family>