Automates the following steps
- download specific revision of u-boot-xlnx
- build it
- download specific revision of linux-xlnx kernel
- build uImage
- create simple Vivado project with default initialization and constraints
- export .hdf file
- use hsi to build FSBL
- use bootgen to generate boot image BOOT.BIN
- download PyNQ standard SDcard image as base
- extract root FS from image, and FSBL/SSBL, devicetree for PyNQ
- prepare SD device to generate bootable SD (optional)
Create a TaPaSCo workspace with the help of tapasco-init.sh in the root of this repository and source the generated tapasco-setup.sh, this will set TAPASCO_HOME. To then generate a boot image simply run:
./generate_boot_image.sh BOARD VERSION [DISK SIZE] [DEVICE]
VERSION refers to the release/tag of the Xilinx Open Source Linux [0] stack.
After writing the image to an SDCard and booting up, install Rust and follow the steps in the top level README to build the tapasco runtime. A reboot might be necessary.
- you might have to add the "noacl" option when mounting the rootfs, depending on distro
- you can edit the
OMIT_ROOTvariable ingenerate_boot_image.shtoOMIT_ROOT=trueto only go through the steps that do not require root privileges, this can be useful for checking just the build processes - the ZCU102 seems to be very picky about the SDCard used, sometimes it refuses to load larger files and u-boot simply prints "
mmc fail to send stop cmd" or similar when loading theImagefile- if that happens, try editing
bootscr/boot-zcu102.txtto load the compressed imageImage.gzbefore re-generating theboot.scrscript and make sure to copyImage.gzfromlinux-xlnx/arch/arm64/bootinto the boot section
- if that happens, try editing