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_ROOT
variable ingenerate_boot_image.sh
toOMIT_ROOT=true
to 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 theImage
file- if that happens, try editing
bootscr/boot-zcu102.txt
to load the compressed imageImage.gz
before re-generating theboot.scr
script and make sure to copyImage.gz
fromlinux-xlnx/arch/arm64/boot
into the boot section
- if that happens, try editing