Commands and Descriptions - 2025.1 English - UG1283

Bootgen User Guide (UG1283)

Document ID
UG1283
Release Date
2025-05-29
Version
2025.1 English

The following table lists the Bootgen command options. Each option is linked to a longer description in the left column with a short description in the right column. The architecture name indicates what AMD device uses that command:

  • zynq: AMD Zynq™ 7000 SoC device
  • zynqmp: AMD Zynq™ UltraScale+™ MPSoC
  • fpga: Any 7 series FPGA or AMD UltraScale™ /AMD UltraScale+™ FPGA (except AMD Spartan™ UltraScale+™ FPGAs) and above devices
  • versal: Versal adaptive SoC
  • versal_2ve_2vm: Versal AI Edge Series Gen 2 and Versal Prime Series Gen 2
  • spartanup: AMD Spartan™ UltraScale+™

For more information, see Command Reference.

Table 1. Bootgen Command and Descriptions
Commands Description and Options Used by
arch <type> AMD device architecture. Options:
  • zynq (default)
  • zynqmp
  • fpga
  • versal
  • versal_2ve_2vm
  • spartanup
All
authenticatedjtag <options> Used to enable JTAG during secure boot. The arguments are:
  • rsa
  • ecdsa
  • versal
  • versal_2ve_2vm
bif_help Prints out the BIF help summary. All
dual_qspi_mode <configuration> Generates two output files for dual QSPI configurations:
  • parallel
    Note: Spartan UltraScale+ does not support parallel mode
  • stacked <size>
  • zynq
  • zynqmp
  • versal
  • spartanup
dual_ospi_mode stacked <size> Generates two output files for stacked configuration.
  • versal
  • versal_2ve_2vm
dump <options> Dumps the partition or boot header as per options specified.
  • empty: Dumps the partitions as binary files.
  • bh: Dumps boot header as a binary file.
  • plm: Dumps PLM as a binary file.
  • pmc_cdo: Dumps PMC CDO as a binary file.
    Note: Not applicable in Spartan UltraScale+.
  • pl_cdo: Dumps PMC CDO as a binary file.
  • boot_files: Dumps boot header, PLM, and PMC CDO as three separate binary files.
  • slave_pdis: Dumps Slave PDIs for SSI technology use cases.
    Note: Not applicable in Spartan UltraScale+.

The slave PDIs are not dumped by default. This option should be used if you want to debug or analyze the slave PDI separately.

  • versal
  • versal_2ve_2vm
  • spartanup
dump_dir Dumps components in specified directory.
  • versal
  • versal_2ve_2vm
  • spartanup
efuseppkbits <PPK_filename> Generates a PPK hash for eFUSE.
  • zynq
  • zynqmp
  • versal
  • spartanup
enable_auth_opt Used to enable authentication optimization
  • versal
  • versal_2ve_2vm
  • spartanup
encrypt <options> AES Key storage in device. Options are:
  • bbram (default)
  • efuse
  • zynq
  • fpga
encryption_dump Generates encryption log file, aes_log.txt.
  • zynqmp
  • versal
  • versal gen 2
  • spartanup
fill <hex_byte> Specifies the fill byte to use for padding.
  • zynq
  • zynqmp
  • versal
  • versal_2ve_2vm
  • spartanup
generate_hashes Generates file containing padded hash:
  • Zynq devices: SHA-2 with PKCS#1v1.5 padding scheme
  • Zynq UltraScale+ MPSoC: SHA-3 with PKCS#1v1.5 padding scheme
  • Versal adaptive SoC: SHA-3 with PSS padding scheme
  • Spartan UltraScale+: SHA-3 with PSS padding scheme
  • zynq
  • zynqmp
  • versal
  • versal_2ve_2vm
  • spartanup
generate_keys <key_type> Generate the authentication keys. Options are:
  • pem
  • rsa
  • obfuscatedkey
  • lms-sha256 ( Versal AI Edge Series Gen 2 and Versal Prime Series Gen 2 only)
  • hss-sha256 ( Versal AI Edge Series Gen 2 and Versal Prime Series Gen 2 only)
  • lms-shake256(Spartan UltraScale+ (SU50P, SU55P, SU65P, SU100P, SU150P, and SU200P), Versal AI Edge Series Gen 2, and Versal Prime Series Gen 2)
  • ecdsa-p384 (Spartan UltraScale+ (SU50P, SU55P, SU65P, SU100P, SU150P, and SU200P), Versal AI Edge Series Gen 2, and Versal Prime Series Gen 2)
  • ecdsa-p521 (Not applicable for Versal AI Edge Series Gen 2 and Versal Prime Series Gen 2 for PLM loadable partition)
  • zynq
  • zynqmp
  • versal
  • versal_2ve_2vm
  • spartanup
h, help Prints out help summary. All
image <filename(.bif)> Provides a boot image format (.bif) file name. All
log<level_type> Generates a log file at the current working directory with following message types:
  • error
  • warning (default)
  • info
  • debug
  • trace
All
nonbooting Create an intermediate boot image.
  • zynq
  • zynqmp
  • versal
  • versal_2ve_2vm
  • spartanup
o <filename> Specifies the output file. The format of the file is determined by the file name extension. Valid extensions are:
  • .bin (default)
  • .mcs
  • .pdi
All
overlay_cdo <filename> CDO overlay option provides a way to modify CDO files after they are generated.
  • versal
  • versal_2ve_2vm
  • spartanup
p <partname> Specify the part name used in generating the encryption key. All
padimageheader <option> Pads the image headers to force alignment of following partitions. Options are:
  • 0
  • 1 (default)
  • zynq
  • zynqmp
process_bitstream <option> Specifies that the bitstream is processed and outputs as .bin or .mcs. For example, if encryption is selected for bitstream in BIF file, the output is an encrypted bitstream.
  • zynq
  • zynqmp
read <options> Used to read boot headers, image headers, and partition headers based on the options.
  • bh: To read boot header from bootimage in human readable form
  • iht: To read image header table from bootimage.
    Note: Not applicable in Spartan UltraScale+
  • ih: To read image headers from bootimage.
    Note: Not applicable in Spartan UltraScale+
  • pht: To read partition headers from bootimage.
    Note: Not applicable in Spartan UltraScale+
  • ac: To read authentication certificates from bootimage
  • zynq
  • zynqmp
  • versal
  • versal_2ve_2vm
  • spartanup
split <options> Splits the boot image into partitions and outputs the files as .bin or .mcs.
  • Bootheader + Image Headers + Partition Headers + Fsbl.elf
  • Partition1.bit
  • Partition2.elf
  • zynq
  • zynqmp
  • versal
  • versal_2ve_2vm
spksignature <filename> Generates an SPK signature file.
  • zynq
  • zynqmp
  • versal
  • versal_2ve_2vm
  • spartanup
verify <filename> This option is used for verifying authentication of a boot image. All the authentication certificates in a boot image is verified against the available partitions.
  • zynq
  • zynqmp
  • versal
  • versal_2ve_2vm
  • spartanup
verify_kdf This option is used to validate the Counter Mode KDF used in Bootgen for generation AES keys.
  • zynqmp
  • versal
  • versal_2ve_2vm
  • spartanup
w <option> Specifies whether to overwrite the output files:
  • on (default)
  • off
Note: The -w without an option is interpreted as –w on.
All
zynqmpes1 Generates a boot image for ES1 (1.0). The default padding scheme is ES2 (2.0). zynqmp