5.10 Public Key Generation

Store the public key in the U-Boot Control DTB and then merge it with the U-Boot binary as follows:

  1. Copy u-boot.dtb into the buildroot-mchp directory and rename it to u-boot-pki.dt:
    $ cp output/build/uboot-linux4microchip-2026.04/u-boot.dtb ./u-boot-pki.dtb
  2. Copy u-boot-nodtb.bin to the buildroot-mchp directory:
    $ cp output/build/uboot-linux4microchip-2026.04/u-boot-nodtb.bin .
  3. Run the mkimage tool located in the U-Boot build directory to create a FIT image and extract the public key. Make sure that the signing key and certificate are located in the same directory. In this example, the directory is named keys. The keys directory should contain the following files: samkey.crt and samkey.key. samkey.crt is the certificate, and samkey.key is the private key used to sign the FIT file.
    $ output/build/uboot-linux4microchip-2026.04/tools/mkimage -v -f sam9x75_secure.its -k keys -r -K u-boot-pki.dtb sam9x75_secure.itb 
  4. To concatenate u-boot-nodtb.bin and the control DTB with the public key:
    $ cat u-boot-nodtb.bin u-boot-pki.dtb > u-boot.bin