Novel Issues: Quick Porting of PYNQ using Pre-built images

@briansune had the answer. Running setup_host.sh is the way. It’s well-written, and picks up and installs the correct versions of dependency applications, including in particular qemu and crosstool-ng.

Turns out the problem I had with VirtualBox was that aptitude, in its zeal, had broken xserver. Ubuntu would boot up, but the keyboard and mouse had zero effect. Lesson learned–stay with setup_host.sh!

Now I have another show-stopping issue. I am following the instructions at PYNQ SD Card image — Python productivity for Zynq (Pynq), which reads as follows:

To customise the BSP a petalinux_bsp folder can be included in the board directory the contents of which will be added to the provided BSP before the project is created. See the ZCU104 for an example of this in action. This is designed to allow for additional drivers, kernel or boot-file patches and device tree configuration that are helpful to support elements of PYNQ to be added to a pre-existing BSP.

If a suitable PetaLinux BSP is unavailable for the board then BSP_${BOARD} can be left blank; in this case, users have two options:

  1. Place a <design_name>.xsa file in the petalinux_bsp/hardware_project folder. As part of the build flow, a new BSP will be created from this XSA file.
  2. Place a makefile along with tcl files which can generate the hardware design in the petalinux_bsp/hardware_project folder. As part of the build flow, the hardware design along with the XSA file will be generated, then a new BSP will be created from this XSA file.

Note the phrase “two options.” There’s no “or” at the end of item #1 (which is the one I chose), but it’s implied from listing them as “options.” But when I run
make BOARDS=ZC706 PREBUILT=/media/sf_ZC706_shared/focal.arm.2.7.0_2021_11_17.tar.gz

I get the following output (in pertinent part):

vivado -mode batch -source \
zc706.tcl build_bitstream.tcl -notrace

****** Vivado v2020.2 (64-bit)
  **** SW Build 3064766 on Wed Nov 18 09:12:47 MST 2020
  **** IP Build 3064653 on Wed Nov 18 14:17:31 MST 2020
    ** Copyright 1986-2020 Xilinx, Inc. All Rights Reserved.

source zc706.tcl -notrace
couldn't read file "zc706.tcl": no such file or directory
INFO: [Common 17-206] Exiting Vivado at Thu May 26 19:40:07 2022...
makefile:10: recipe for target 'bit' failed
make[1]: *** [bit] Error 1
make[1]: Leaving directory '/home/jim/PYNQ/sdbuild/build/ZC706/petalinux_bsp/hardware_project'
Makefile:343: recipe for target '/home/jim/PYNQ/sdbuild/build/ZC706/petalinux_bsp/xilinx-zc706-2020.2.bsp' failed
make: *** [/home/jim/PYNQ/sdbuild/build/ZC706/petalinux_bsp/xilinx-zc706-2020.2.bsp] Error 2

Seems like the two “options” listed are both requirements! Another post Pynq 2.6 custom board image build method that works - Learn - PYNQ indicates that instead of <design_name>.xsa this file should be named system.xsa, but the same error occurred.

Again, clear direction is requested! If the XSA file and the TCL file are both required, just say that!