Hi,
I want to create a Petalinux OS for the Microzed-7020, which would be able to run the pynq library and which would be lighter as possible.
I’m using Petalinux 2020.1 and Vivado 2020.1 btw.
I configure the petalinux project, and I am facing a problem. If I’m using the template “zynq”, it works I’m able to run the pynq library. But if I’m using the official BSP furnished by Avnet, it doesn’t ! (the 2020.1 version).
Steps with the zynq template :
-
Create a new project with the template :
petalinux-create -t project -n new_project --template zynq -
Configure the project with a hardware description (.xsa), generated with Vivado on the design that I have created.
petalinux-config --get-hw-description file
In the petalinux-config wizard, enable :
DTG Settings => Include “Devicetree overlay”
DTG Settings =>Include "Remove PL from devicetree”
FPGA Manager => Include “Fpga Manager” -
Configure the kernel and add the driver required :
petalinux-config -c kernel
Device Driver => Staging Driver => Xilinx APF Accelerator Driver => Xilinx APF DMA engines support -
Configure the rootfs :
Add those lines in the user-rootfsconfig (project-spec/meta-user) :
CONFIG_pynq-overlay
CONFIG_libcma
CONFIG_python3-pandas
CONFIG_python3-pynq
then : petalinux-config -c rootfs
Add those user packages and add the petalinux packages “lmsensors”,“xrt”, “xrt-dev”. -
Build the project : petalinux-build
-
Create the BOOT.BIN file : petalinux-package --boot --u-boot
With those steps, I can use the 3 files (boot.scr ; BOOT.BIN ; image.ub) in a SD card and boot from it. Then I have an OS that runs the pynq library, I can use Overlay with it (depends on the design I used for the xsa file from step 2) ).
With the BSP it’s different :
-
Create a new project with the BSP:
petalinux-create -t project -n mz_bsp -s ./mz7020_fmccc_2020_1.bsp -
petalinux-config : same actions in the wizard as with the zynq template
-
Same
-
Same
-
2 ways :
- Add a wks file in meta-user just as explained in this post [PetaLinux 2020.1 and microZed board (xilinx.com)] PetaLinux 2020.1 and microZed board (xilinx.com)
- use petalinux-build -c avnet-minimal-image
-
Try to build : petalinux-build (if wks way)
But then I have an error : “Label or path amba_pl not found”. (for both ways)
I have seen that amba_pl and FPGA_manager doesn’t like each others, but FPGA_manager is required to use the pynq library as seen in this post Deploying PYNQ and Jupyter with Petalinux - Learn - PYNQ (the post linked can’t be applied because the Microzed is not parts of the BOARD repository).
What should I do to have a Petalinux OS based on BSP that runs pynq library ?