Issue with Not Starting PYNQ Linux boot process

Hello,

I am trying to make a PYNQ image for my custom board (board name: RRAR), which uses Zynq MPSoC ZU5CG as the main FPGA.
Linux Machine and tool versions I used are Ubuntu 20.04 , Xilinx Vitis, petalinux version 2022.1

I followed the build steps on the ‘Retargeting to a Different Board’ page in the PYNQ document site.

Here is my brief steps to make sd image,

  1. get PYNQ

  2. Make a custom board folder (‘RRAR’) below ‘boards’
    cd boards
    mkdir RRAR

  3. Delete unnecessary board folder under ‘boards’
    rm -rf Pynq-Z1 Pynq-Z2 ZCU104

  4. Copy my bitstream file to ‘boards/base’
    Copy my XSA file to ‘boards/RRAR/petalinux_bsp/hardware_project’

  5. Download prebuilt rootfs and sdist file and copy them to sdbuild/prebuilt folder
    cp -rf /home/download/prebuilt/* sdbuild/prebuilt

  6. Tool seutp
    source ~/petalinux/2022.1/setting.sh
    source ~/Xilinx/Vitis/2022.1/setting64.sh

  7. cd sdbuild/
    make

After the build process is completed, I can find the ‘RRAR-3.0.1.img’ file is generated below ‘sdbuild/output’ folder and size is about 9.8 GBytes.
I have flashed the image to an SD card, and tried to boot my custom board.
But after the linux booting sequence, it stops to promt without the next PYNQ Linux boot process starting ‘Welcome to PynqLinux, based on Ubuntu 22.04!’.

I made the ZCU102 PYNQ image using the same steps explained above, and the PYNQ Linux works well on the ZCU102 board.

I attached two boot log files, one is the ZCU102 and the other is my custom RRAR board.

My Questions is

  1. Why does not the RRAR image proceed to PYNQ linux bootup process? Do I miss something in building SD image?

  2. In the RRAR Uboot stage, there is no ethernet found messages like,
    ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr -1, interface rgmii-id No ethernet found.

    but after linux boot up, the ethernet works well.
    Why does No Etherenet found message occurs in Uboot?
    and is this the reason the PYNQ boot process stop?

Any comments and suggestions will be appreciated , and thank you in advance.

– Sangcheol

rrar–pynq boot.txt (26.5 KB)
zcu102–pynq boot.txt (42.6 KB)

Addition to build step 4,

I made a RRAR.spec file ‘boards/RRAR’ folder
My RRAR.spec file is as shown below

ARCH_RRAR := aarch64
BSP_RRAR :=
BITSTREAM_RRAR := base/base.bit
FPGA_MANAGER_RRAR := 1

STAGE4_PACKAGES_RRAR := xrt pynq ethernet sensorconf boot_leds pynq_peripherals

After I added a gem3 node in system-user.dtsi file and put the file to the foldes,

PYNQ/boards//petalinux_bsp/meta-user/recipes-bsp/device-tree/files
PYNQ/boards//petalinux_bsp/meta-user/recipes-bsp/uboot-device-tree/files

and then make again image,
Now ‘No ethernet found’ message in U-boot has been resolved.

However, the boot process still stops linux kernel stage, not go to PynqLinux.
What should I do more to bring up PynqLinux?

– Sangcheol

/include/ “system-conf.dtsi”
/ {
};
&gem3 {
status = “okay”;
phy-handle = <&phy0>;
phy-mode = “rgmii-id”;

phy0: ethernet-phy@c {
	#phy-cells = <1>;
	reg = <0xc>;
	device_type="ethernet-phy";
	ti,rx-internal-delay = <0x8>;
	ti,tx-internal-delay = <0xa>;
	ti,fifo-depth = <0x1>;
	ti,dp83867-rxctrl-strap-quirk;
};

};

The issue solved.
My board has an eMMC & SD on the ZynqMP, the eMMC appears as /dev/mmcblk0 device and a SD Card reader appearing as /dev/mmcblk1.
It seems the PYNQ looks for a rootfs on mmcblk0 as default.

After some modifications explained in the folIowing link, the issue has been solved.
The PYNQ linux works well.

– Sangcheol

1 Like