Problem of compiling PYNQ3.0 image for antminer s9 control board

Hi everyone,
I met critial problem when I compiling PYNQ3.0 image for antminer s9 control board,

I would be so appreciat if you can solve this problem.

  • PYNQ 3.0.1 & antminer s9 control board & petalinux vivado vitis 2022.1 wsl2 ubuntu 18.04 LTS

  • my spec struct:
    ARCH_s9 := arm
    BSP_s9 := s9.bsp
    BITSTREAM_s9 := base/base.bit
    FPGA_MANAGER_s9 := 1
    STAGE4_PACKAGES_s9 := xrt pynq ethernet

I run the necessary scripts such as setup_host.sh sudo ./plnx-env.sh etc
source vivido vitis petalinux
the command I input to run the compiling is
make REBUILD_PYNQ_ROOTFS=/home/anygo/PYNQ/sdbuild/prebuilt/pynq_z1_v3.0.1.img REBUILD_PYNQ_SDIST=/home/anygo/PYNQ/sdbuild/prebuilt/pynq_sdist.tar.gz BOARDS=s9
or
make REBUILD_PYNQ_ROOTFS=/home/anygo/PYNQ/sdbuild/prebuilt/jammy.3.0.1.gz REBUILD_PYNQ_SDIST=/home/anygo/PYNQ/sdbuild/prebuilt/pynq_sdist.tar.gz BOARDS=s9
another question is that I download the PYNQ arm rootfs ,the file is jammy.3.0.1.gz, not tar.gz which is different from the guide.

  • Error message is following:

ERROR: device-tree-xilinx-v2022.1+gitAUTOINC+1b364a44fa-r0 do_compile: Error executing a python function in exec_func_python() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: ‘exec_func_python() autogenerated’, lineno: 2, function:
0001:
*** 0002:devicetree_do_compile(d)
0003:
File: ‘/home/anygo/PYNQ/sdbuild/build/s9/petalinux_project/components/yocto/layers/core/meta/classes/devicetree.bbclass’, lineno: 131, function: devicetree_do_compile
0127: if not(os.path.isfile(dtspath)) or not(dts.endswith(“.dts”) or devicetree_source_is_overlay(dtspath)):
0128: continue # skip non-.dts files and non-overlay files
0129: except:
0130: continue # skip if can’t determine if overlay
*** 0131: devicetree_compile(dtspath, includes, d)
0132:}
0133:
0134:devicetree_do_install() {
0135: for DTB_FILE in ls *.dtb *.dtbo; do
File: ‘/home/anygo/PYNQ/sdbuild/build/s9/petalinux_project/components/yocto/layers/core/meta/classes/devicetree.bbclass’, lineno: 119, function: devicetree_compile
0115: dtcargs += [“-i”, i]
0116: dtcargs += [“-o”, “{0}.{1}”.format(dtname, “dtbo” if isoverlay else “dtb”)]
0117: dtcargs += [“-I”, “dts”, “-O”, “dtb”, “{0}.pp”.format(dts)]
0118: bb.note(“Running {0}”.format(" ".join(dtcargs)))
*** 0119: subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
0120:
0121:python devicetree_do_compile() {
0122: includes = expand_includes(“DT_INCLUDE”, d)
0123: listpath = d.getVar(“DT_FILES_PATH”)
File: ‘/home/anygo/Xilinx/petalinux/components/yocto/buildtools/sysroots/x86_64-petalinux-linux/usr/lib/python3.9/subprocess.py’, lineno: 528, function: run
0524: # We don’t call process.wait() as .exit does that for us.
0525: raise
0526: retcode = process.poll()
0527: if check and retcode:
*** 0528: raise CalledProcessError(retcode, process.args,
0529: output=stdout, stderr=stderr)
0530: return CompletedProcess(process.args, retcode, stdout, stderr)
0531:
0532:
Exception: subprocess.CalledProcessError: Command ‘[‘dtc’, ‘-@’, ‘-@’, ‘-p’, ‘0x1000’, ‘-@’, ‘-i’, ‘/home/anygo/PYNQ/sdbuild/build/s9/petalinux_project/build/tmp/work-shared/zynq-generic/kernel-source/scripts/dtc/include-prefixes’, ‘-i’, ‘/home/anygo/PYNQ/sdbuild/build/s9/petalinux_project/build/tmp/work/zynq_generic-xilinx-linux-gnueabi/device-tree/xilinx-v2022.1+gitAUTOINC+1b364a44fa-r0/git/device_tree/data/kernel_dtsi/2022.1/BOARD/’, ‘-i’, ‘/home/anygo/PYNQ/sdbuild/build/s9/petalinux_project/project-spec/configs/…/…/components/plnx_workspace/device-tree/device-tree’, ‘-i’, ‘/home/anygo/PYNQ/sdbuild/build/s9/petalinux_project/build/tmp/work-shared/zynq-generic/kernel-source/arch/arm/boot/dts’, ‘-i’, ‘/home/anygo/PYNQ/sdbuild/build/s9/petalinux_project/build/tmp/work/zynq_generic-xilinx-linux-gnueabi/device-tree/xilinx-v2022.1+gitAUTOINC+1b364a44fa-r0’, ‘-o’, ‘system-top.dtb’, ‘-I’, ‘dts’, ‘-O’, ‘dtb’, ‘system-top.dts.pp’]’ returned non-zero exit status 1.

Subprocess output:
Error: /home/anygo/PYNQ/sdbuild/build/s9/petalinux_project/project-spec/configs/…/…/components/plnx_workspace/device-tree/device-tree/system-conf.dtsi:14.1-12 Label or path ps7_nand_0 not found
FATAL ERROR: Syntax error parsing input tree

ERROR: Logfile of failure stored in: /home/anygo/PYNQ/sdbuild/build/s9/petalinux_project/build/tmp/work/zynq_generic-xilinx-linux-gnueabi/device-tree/xilinx-v2022.1+gitAUTOINC+1b364a44fa-r0/temp/log.do_compile.30658
ERROR: Task (/home/anygo/PYNQ/sdbuild/build/s9/petalinux_project/components/yocto/layers/meta-xilinx/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb:do_compile) failed with exit code ‘1’
NOTE: Tasks Summary: Attempted 869 tasks of which 755 didn’t need to be rerun and 1 failed.

Summary: 1 task failed:
/home/anygo/PYNQ/sdbuild/build/s9/petalinux_project/components/yocto/layers/meta-xilinx/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb:do_compile
Summary: There was 1 WARNING message shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
ERROR: Failed to build device-tree. Check the /home/anygo/PYNQ/sdbuild/build/s9/petalinux_project/build/build.log file for more details…
Makefile:371: recipe for target ‘/home/anygo/PYNQ/sdbuild/build/s9/petalinux_project/images/linux/system.dtb’ failed
make: *** [/home/anygo/PYNQ/sdbuild/build/s9/petalinux_project/images/linux/system.dtb] Error 255