Wiki

This version (24 Sep 2019 17:14) was approved by AdrianC.The Previously approved version (03 Jul 2018 11:42) is available.Diff

How to build the ZynqMP boot image BOOT.BIN

The boot image BOOT.BIN is build using the bootgen tool which requires several input files.

Instructions on how to build the Hardware Description File (HDF) handover file can be found here:

All further steps are lengthy explained on the Xilinx Wiki Page

Use script to build BOOT.BIN

For ease of use we provide a bash shell script which allows building BOOT.BIN from system_top.hdf, u-boot.elf and either bl31.elf or a path to the Arm Trusted Firmware repository

Download

The script can be downloaded from here:

NOTE: After downloading the script you need to make it executable

$ chmod +x build_zynqmp_boot_bin.sh

Usage

usage: build_zynqmp_boot_bin.sh system_top.hdf u-boot.elf (download | bl31.elf | <path-to-arm-trusted-firmware-source>) [output-archive]
  • Path to system_top.hdf and u-boot.elf are required parameters.
  • The 3rd argument must either be download (which will git clone the ATF repository), bl31.elf or the file system path to the Arm Trusted Firmware source code repository
  • An optionally 4th name parameter can be given to tar.gz the output directory. (name.tar.gz)
  • Build output is located in a local directory named: output_boot_bin.
  • This script requires Xilinx XSDK and bootgen in the PATH.
    • A simple way is to source vivado settings[32|64].sh for Linux:
$ source /opt/Xilinx/Vivado/201x.x/settings64.sh
  • When using cygwin, you can add the following in the ~/.bashrc configuration file:
export PATH=$PATH:/cygdrive/c/Xilinx/Vivado/201x.x/bin
export PATH=$PATH:/cygdrive/c/Xilinx/SDK/201x.x/bin

NOTE: u-boot.elf
For those who don't want to build u-boot themselves.
The u-boot.elf can be extracted from the project folder on the SD Card image, bootgen_sysfiles.tgz

resources/tools-software/linux-software/build-the-zynqmp-boot-image.txt · Last modified: 24 Sep 2019 17:14 by AdrianC