The boot image BOOT.BIN is built using the bootgen tool which requires several input files.
Instructions on how to build the Xilinx Shell Archive (XSA) handover file can be found here:
All further steps are lengthy explained on the Xilinx Wiki Page
For ease of use, we provide a bash shell script which allows building BOOT.BIN from system_top.xsa and u-boot.elf
The script can be downloaded from here:
NOTE: After downloading the script you need to make it executable
$ chmod +x build_boot_bin.sh
usage: build_boot_bin.sh system_top.xsa u-boot.elf [output-archive]
system_top.xsa
and u-boot.elf
are required parametersname
parameter can be given to tar.gz the output directory (name
.tar.gz)$ source /opt/Xilinx/Vivado/202x.x/settings64.sh
export PATH=$PATH:/cygdrive/c/Xilinx/Vivado/202x.x/bin export PATH=$PATH:/cygdrive/c/Xilinx/Vitis/202x.x/bin
There is also a version of script that works in Windows Powershell: build_boot_bin.ps1
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