Rebuild PYNQ 3.0.1 for ZCU208 Error

I’m trying to rebuild the PYNQ distribution for a ZCU208, and I did the following:

  • Cloned GitHub - kit-ipq/ZCU208: ZCU208 PYNQ Board configuration
  • Downloaded jammy.aarch64.3.0.1.tar.gz and moved it to the PYNQ/sdbuild/prebuilt directory and renamed it to pynq_rootfs.aarch64.tar.gz (I did this because the make generated an error that it couldn’t find the rootfs, but I’m not sure why the PREBUILT switch below in the make wouldn’t achieve this)
  • Downloaded xilinx-zcu208-v2022.2-10141622.bsp and put it in the /home/fullpath/ZCU208/ZCU208 directory
  • Downloaded the PYNQ source distribution from here: PYNQ - Python productivity for Zynq - Board
  • Modified the /home/fullpath/ZCU208/ZCU208.spec file to now read:

ARCH_ZCU208 := aarch64
BSP_ZCU208 := xilinx-zcu208-v2022.2-10141622.bsp

STAGE4_PACKAGES_ZCU208 := pynq xrfclk xrfdc xsdfec ethernet
STAGE4_PACKAGES_ZCU208 += xrt

I built like the following in the PYNQ/sdbuild directory (this is a similar make command that I used when I successfully built 2.7 for the ZCU208):

make BOARDDIR=/home/fullpath/ZCU208 PYNQ_SDIST=/home/fullpath/pynq-3.0.1.tar.gz PREBUILT=/home/fullpath/jammy.aarch64.3.0.1.tar.gz BOARDS=ZCU208

I’m getting the following error:

Parsing recipes…ERROR: /home/fullpath/PYNQ/sdbuild/build/ZCU208/petalinux_project/components/yocto/layers/meta-xilinx/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.2.bb: Variable FILESEXTRAPATHS_prepend contains an operation using the old override syntax. Please convert this layer/metadata before attempting to use with a newer bitbake.
ERROR: Failed to parse recipe: /home/fullpath/PYNQ/sdbuild/build/ZCU208/petalinux_project/components/yocto/layers/meta-xilinx/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.2.bb

Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
ERROR: Failed to build device-tree. Check the /home/fullpath/PYNQ/sdbuild/build/ZCU208/petalinux_project/build/build.log file for more details…
make: *** [Makefile:371: /home/fullpath/PYNQ/sdbuild/build/ZCU208/petalinux_project/images/linux/system.dtb] Error 255

The build.log file has this:

ERROR: /home/fullpath/PYNQ/sdbuild/build/ZCU208/petalinux_project/components/yocto/layers/meta-xilinx/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.2.bb: Variable FILESEXTRAPATHS_prepend contains an operation using the old override syntax. Please convert this layer/metadata before attempting to use with a newer bitbake.
ERROR: Failed to parse recipe: /home/fullpath/PYNQ/sdbuild/build/ZCU208/petalinux_project/components/yocto/layers/meta-xilinx/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.2.bb
ERROR: Failed to build device-tree. Check the /home/fullpath/PYNQ/sdbuild/build/ZCU208/petalinux_project/build/build.log file for more details…

It seems like the make command isn’t correct. If it isn’t what should it be? And if that’s not the issue, does anyone know what it might be? Thank you.

Hi @jramsey123 ,

Since pynq v3.0, the make prebuilt commands have been updated to PYNQ_SDIST and PYNQ_ROOTFS (instead of PREBUILT).

The error you are seeing on the overrides is due to recent changes to Yocto recipe syntax in the Honister release (so starting from Petalinux 2022.1). It looks like the repo you are cloning is still using pre-honister appends/prepends, e.g. this u-boot-xlnx_%.bbappend. You can find examples of updated meta-user recipes, compatible with petalinux 2022.1, in the rfsoc-pynq repo.

Thanks
Shawn

1 Like