Try to Re-Build PYNQ for Ultra96 master version

I am currently trying to re-build the master version of the Ultra96 and follow the instructions from Avnets GitHub Repository

When running:

make checkenv

I get this Error:

/usr/bin/qemu-aarch64-static -version | fgrep 4.0.0
Makefile:325: recipe for target ‘qemu_check_aarch64’ failed
make: *** [qemu_check_aarch64] Error 1

Unfortunately I didn’t find a similar Error. My host machine is a Virtual Machine on Windows running Ubuntu 16.04.

I hope somebody knows how to fix it. Thank you in advance :heart:

Please run the setup_host.sh before you rebuild the image.

https://pynq.readthedocs.io/en/latest/pynq_sd_card.html#use-existing-ubuntu-os

1 Like

Thank you very much rock! Sorry for that question, I should have read the docs instead just follow blindly the Avnet GitHub Instruction!

Hi, The Ultra96 build PYNQ github does instruct a user to run the setup_host.sh script. :slight_smile: Hope it is all working for you now.

1 Like

Hey @pynqzen thank your very much for your answer. I didn’t have time yet to try it out, but If I remember correctly I did succesfully run the setup_host.sh but after that the instruction says to run make checkenv that is when I get this error. :thinking:

When I figure out my problem and run it succesfully I will update my post :wink:

HI Noah, Let us know. There is nothing special at that point in the instructions for the U96. So if there is an issue, it would happen with any PYNQ build. There was a new build bug with PYNQ in general that occurred after the release of v2.5.

The issue involved chroot and was documented here: PYNQ 2.5.1 build: Error in link resolv.conf after chroot - #3 by KVWZ

If you build from a tag or the image_v2.5.0 branch you should not see this issue. In the case of the U96 since it is an Avnet board with a separate git, be sure to grab the same branch/tag for both repos. I did not dig in to see if they already have the fix in master, I doubt it is.

Kind regards

1 Like

Hey @pynqzen thanks for your kind replay. It might be that case that my error is a result of not having activated the licence on Ubuntu 16.04.06 System, which was delivered with the Ultra96-V2.

I’ve currently activated the Ultra96-V2 licence (I am sorry I dont know how it is properly called) on my Windows Machine and it is a hassle to transfer it to my Ubuntu 16.04.06 System.

Is it possible to build the image for the Ultra96 with the free provided licences from Xilinx?

Hi Noah,

Yes the free Xilinx web pack tools support ZU3EG parts. The official list is here: Vivado ML Standard

Kind regards

Hey @pynqzen I finally had time to work on this problem. I managed to solve my original problem.

I followed @rock instruction and saw that I forgot to source vivado, Vitis and petalinux-v2019.1-final.
I also forgot to use the export PATH=/opt/qemu/bin:/opt/crosstool-ng/bin:$PATH after running the sudo ./scripts/setup_host.sh.

After that, make checkenv worked fine.

However. I got a new error while running make BOARDDIR=. :sob: :sob: :sob: I feel I am so close to building it…

make clean
make BOARDDIR=/home/noahs/Documents/Local_Pynq

I also changed a few things in the sdbuild/makefile (otherwise it would throw errors and for people who also try to rebuild an image):

KERNEL_VERSION := 2019.2
UBUNTU_RELEASE := xenial

I am not sure why this errors happens. I use the petalinux-v2018.3-final version. Do I need the 2019 Version? Or do I need a license again?

You should not change anything in makefile in your case. Please use the original kernel version and ubuntu release.

Also, for building image v2.5 everything should be consistent with 2019.1 so you need to use that version. For the ultra96 bsp you can look for the sensor96b.bsp (basically follow the instructions on ultra96-pynq repo)

2 Likes

Alright I will try it out. Thank you very much for your replay! :relaxed: