Custom ultrascale+ board sd build failed

I want a generate sd card image for a custom board. I followed the following sequence:

  • I have installed ubuntu using vagrant. have some problems with Installing vitis, vivado, petalinux because it was 18.04.05, those support 18.04.04. But the problem is fixed. Installed those in β€œ/workspace/” folder.
  • Created a separate board directory and created a board file folder (ZCU) by copying the content of zcu104. deleted base and packages folder from zcu104, kept rest two.
    the content of the spec.
ARCH_ZCU := aarch64
BSP_ZCU := xilinx-zcu104-v2020.1-final.bsp

STAGE4_PACKAGES_ZCU := xrt pynq ethernet

  • downloaded the zcu104 BSP file and copied it under the board folder.

  • downloaded board agnostic image file and copied it in sdbuild

  • source the vivado, petalinux configurations and run the following command.

make PREBUILT=/workspace/PYNQ/sdbuild/bionic.aarch64.2.6.0_2020_10_19.img BOARDDIR=/workspace/PYNQ/b

after half an hour, the following error appears (though I have img file in the output folder, i have written the sd card with that, nothing happened, doesn’t boot)

-- Installing: /usr/lib/
-- Set runtime path of "/usr/lib/" to ""
-- Installing: /usr/bin/skd
-- Set runtime path of "/usr/bin/skd" to ""
-- Installing: /usr/bin/xbutil
make[1]: Leaving directory '/root/xrt-git/build/Debug'
+ echo ZCU
+ cd /root
+ rm -rf xrt-git
+ rm /workspace/PYNQ/sdbuild/build/bionic.ZCU/
+ '[' -e /workspace/PYNQ/sdbuild/packages/xrt/ ']'
+ for p in $@
+ '[' -n /workspace/PYNQ/b/ZCU/packages -a -e /workspace/PYNQ/b/ZCU/packages/pynq ']'
+ f=/workspace/PYNQ/sdbuild/packages/pynq
+ '[' -e /workspace/PYNQ/sdbuild/packages/pynq/ ']'
+ /workspace/PYNQ/sdbuild/packages/pynq/ /workspace/PYNQ/sdbuild/build/bionic.ZCU
+ set -e
+ target=/workspace/PYNQ/sdbuild/build/bionic.ZCU
+++ dirname /workspace/PYNQ/sdbuild/packages/pynq/
++ cd /workspace/PYNQ/sdbuild/packages/pynq
++ pwd
+ script_dir=/workspace/PYNQ/sdbuild/packages/pynq
+ sudo mkdir -p /workspace/PYNQ/sdbuild/build/bionic.ZCU/home/xilinx/pynq_git/boards
+ sudo mkdir -p /workspace/PYNQ/sdbuild/build/bionic.ZCU/home/xilinx/pynq_git/dist
+ sudo cp /workspace/PYNQ/sdbuild/packages/pynq/ /workspace/PYNQ/sdbuild/build/bionic.ZCU/usr/local/bin
+ sudo cp /workspace/PYNQ/sdbuild/packages/pynq/pl_server.service /workspace/PYNQ/sdbuild/build/bionic.ZCU/lib/systemd/system
+ sudo cp /workspace/PYNQ/sdbuild/packages/pynq/ /workspace/PYNQ/sdbuild/build/bionic.ZCU/usr/local/bin
+ sudo cp /workspace/PYNQ/sdbuild/packages/pynq/ /workspace/PYNQ/sdbuild/build/bionic.ZCU/etc/profile.d
++ date +%Y_%m_%d
++ git rev-parse --short=7 --verify HEAD
+ echo 'Release 2022_01_20 3182581'
+ '[' ZCU '!=' Unknown ']'
+ cd /workspace/PYNQ/b/ZCU
+ git tag
+ '[' 0 -eq 0 ']'
++ date +%Y_%m_%d
++ git rev-parse --short=7 --verify HEAD
++ git config --get remote.origin.url
+ echo 'Board 2022_01_20' 3182581
+ '[' '!' -d /workspace/PYNQ/sdbuild/build/PYNQ/boards/ZCU ']'
+ cp -rf /workspace/PYNQ/b/ZCU /workspace/PYNQ/sdbuild/build/PYNQ/boards/ZCU
+ sudo cp -rf /workspace/PYNQ/sdbuild/build/PYNQ/REVISION /workspace/PYNQ/sdbuild/build/bionic.ZCU/home/xilinx/REVISION
+ '[' -n '' ']'
+ '[' -n '' ']'
+ cd /workspace/PYNQ/sdbuild/build/PYNQ
+ ./

Script for building default overlays, microblaze bsp's and binaries.

skipping bitstream base.bit for Pynq-Z1
skipping bitstream logictools.bit for Pynq-Z1
skipping bitstream base.bit for Pynq-Z2
skipping bitstream logictools.bit for Pynq-Z2
skipping bitstream base.bit for ZCU104
make[1]: Entering directory '/workspace/PYNQ/sdbuild/build/PYNQ/boards/sw_repo'
rm -rf bsp_* hw_build
rm -rf .Xil .metadata *.log .analytics
make[1]: Leaving directory '/workspace/PYNQ/sdbuild/build/PYNQ/boards/sw_repo'
make[1]: Entering directory '/workspace/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
Starting vitis. This could take few seconds...WARNING: Using incubator modules: jdk.incubator.httpclient
Invalid Configuration Location:
The configuration area at '/home/vagrant/.Xilinx/Vitis/2020.1' could not be created.  Please choose a writable location using the '-configuration' command line option.
Timeout while establishing a connection with Vitis
    while executing
"error "Timeout while establishing a connection with Vitis""
    (procedure "getsdkchan" line 125)
    invoked from within
    (procedure "::sdk::set_user_repo_path_sdk" line 22)
    invoked from within
"::sdk::set_user_repo_path_sdk $params(set)"
    (procedure "repo" line 30)
    invoked from within
"repo -set [pwd]"
    (file "build_project.tcl" line 55)
Makefile:20: recipe for target 'workspace' failed
make[1]: *** [workspace] Error 1
make[1]: Leaving directory '/workspace/PYNQ/sdbuild/build/PYNQ/boards/sw_repo'
+ unmount_special
+ for fs in $fss
+ sudo umount -l /workspace/PYNQ/sdbuild/build/bionic.ZCU/proc
+ for fs in $fss
+ sudo umount -l /workspace/PYNQ/sdbuild/build/bionic.ZCU/run
+ for fs in $fss
+ sudo umount -l /workspace/PYNQ/sdbuild/build/bionic.ZCU/dev
+ sudo umount -l /workspace/PYNQ/sdbuild/build/bionic.ZCU/ccache
+ rmdir /workspace/PYNQ/sdbuild/build/bionic.ZCU/ccache
Makefile:338: recipe for target '/workspace/PYNQ/sdbuild/output/ZCU-2.6.0.img' failed
make: *** [/workspace/PYNQ/sdbuild/output/ZCU-2.6.0.img] Error 2

I just paste the last section around the error, if needed all log please let me know.


1 Like

I suppose you are building v2.6.0, did you checkout your pynq cloned repository to v2.6.0?


What worked for me:
Copy both the downloaded zcu104 BSP file and also the downloaded board agnostic image file into the sdbuild folder (…/PYNQ/sdbuild/), once both of the are there, follow all the steps as required (especially running this PYNQ/sdbuild/scripts/, thereafter run this command instead

bash scripts/ ZCU104 xilinx-zcu104-v2020.1-final.bsp aarch64 bionic.aarch64.2.6.0_2020_10_19.img

Note: Edit the above line to match the names of your bsp and img

OKay, i’ll try and give a update. Thanks