Pynq2.7 - bootimage apparently made, no image files, proceeded to make other boards


I have been trying to build a pynq 2.7 image for Arty Z7-10 boards for days now.
I created a Vivado project, placed the board hardware, i exported hardware and bitstream files in the correct folder, and build runs successfully.

Here is my configuration file:

ARCH_ArtyZ7 := arm
BSP_ArtyZ7 := 
BITSTREAM_ArtyZ7 := base/base.bit
STAGE4_PACKAGES_ArtyZ7 := pynq ethernet xrt 

I included bitstream in .XSA file but i also placed it in base folder. Neither worked.
I source the correct dependencies as shown in the guides on the website, and afterwards i run the build.

/git/PYNQ/sdbuild$ make BOARDS=ArtyZ7 2>&1 | tee arty_build.log

The build looks like it finishes successfully at first.

INFO: Generating Zynq binary package BOOT.BIN...

****** Xilinx Bootgen v2020.2
  **** Build date : Nov 15 2020-06:11:24
    ** Copyright 1986-2020 Xilinx, Inc. All Rights Reserved.

[INFO]   : Bootimage generated successfully

INFO: Binary is ready.
WARNING: Unable to access the TFTPBOOT folder /tftpboot!!!
WARNING: Skip file copy to TFTPBOOT folder!!!

After this point strange things happen.
The first time i ran this, the whole PYNQ github repository was cloned once again into folder:
and afterwards it continue to make either ZCU104 board or Pynq-Z2

make[1]: Entering directory '/home/haris/git/PYNQ/sdbuild/build/PYNQ/boards/sw_repo'
rm -rf bsp_* hw_build
rm -rf .Xil .metadata *.log .analytics
make[1]: Leaving directory '/home/haris/git/PYNQ/sdbuild/build/PYNQ/boards/sw_repo'
make[1]: Entering directory '/home/haris/git/PYNQ/sdbuild/build/PYNQ/boards/sw_repo'
usage: make [target]

XSA:     relative/absolute path to the XSA file

current configuration:
make XSA=../Pynq-Z2/base/base.xsa

xsct build_project.tcl ../Pynq-Z2/base/base.xsa
Error: XSA path ../Pynq-Z2/base/base.xsa does not exist.
Makefile:20: recipe for target 'workspace' failed
make[1]: *** [workspace] Error 1
make[1]: Leaving directory '/home/haris/git/PYNQ/sdbuild/build/PYNQ/boards/sw_repo'

I cleaned up the build, removed other board definitions (pynq z1, z2 and ZCU104), left only arty, IP and sw_repo folders and tried again. The same thing happens.

I have attached the build log file.
Does anyone have any idea why this would happen?

I also do not see any image files in build folder.

arty_build.log (332.5 KB)

1 Like

Hello I would like to reply to my own message once again since i solved this issue over the weekend.
Basically it turns out that pynq build process always loads the github repo and tries to build other boards.
The way around this is to download prebuild tarballs and provide the path to the make function.

make BOARDS=ArtyZ7 PYNQ_SDIST=/home/haris/src/pynq-2.7.0.tar.gz 2>&1 | tee ArtyZ7_build.log

This saves a lot of time and potential build errors.
Now the kicker is that only Pynq versions 2.5 and 2.6 have tar.gz files on github with the official release but for version 2.7 these files are not provided to us.
I used 2.6 tar.gz files and it worked. Build was completed and also 2.7v files are then also made in output folder. You can copy them with the img file for future builds before you do “make clean”. Since this process will take about 50GB or so.

Resulting image is about 7.5GB and if someone is interested I could upload it somewhere.