PYNQ doesn'work on KRIA KR260

Hello Support Team,

I am working with a Kria KR260 and I am connected to the board via SSH. My setup is the following:

The issue I am facing is that I cannot load or run any overlay. Every time I try to load a bitstream through PYNQ (Overlay), I get an error such as “No device found”.

I have already verified the following:

  • The .bit and .hwh files have the exact same name

  • Both files are located in the same folder as my Python script / notebook

  • The overlay files are correct and accessible from the KR260 filesystem

For comparison, I tested the same PYNQ overlay flow on a Zynq-7000 board and it works correctly, so the problem seems specific to the KR260 / Ubuntu setup.

Could you please advise what might be missing or misconfigured (e.g., FPGA device nodes, drivers, permissions, overlays, xrt/uio setup, etc.) so that PYNQ can detect the device and load bitstreams successfully on the KR260?

Thank you in advance,

Hi @V1926

From the Jupyter (or within a Python session within the PYNQ venv), can you run:

import pynq
print(pynq.__version__)

If the version is anything other than v3.0.1 then please run the following from a terminal (but within the PYNQ venv):

python3 -m pip install pynq==3.0.1

My guess is that pip is overriding the PYNQ v3.0.1 install with a newer version, which could possibly cause this error.

Let me know how you get on.

@joshgoldsmith thank you for your answer .
Its 3.0.1.

Hi @V1926,

Can you download the overlay from a notebook?

If you are running your code via terminal, you need to source the pynq environment.

Mario

1 Like

I cant find that file (xtr_setup.sh) .To source it

Are you able to download the overlay from the notebook?

For Kria, you only need to source this one from the terminal: Kria-PYNQ/install.sh at main · Xilinx/Kria-PYNQ · GitHub

it stays like this untill dead kernel .

The ol.download() is not needed.

Do you see any output in the serial connection (JTAG) after calling Overlay?

Hi, yes I do see kernel output after calling Overlay(...). Using sudo journalctl -kf, the kernel hits an Oops exactly when the overlay is loaded, and the crash is inside the zocl (XRT) driver.

Key messages:

  • Memory 0 is not reserved in device tree. Will allocate memory from CMA

  • Internal error: Oops: 0000000096000004 [#1] SMP

  • pc : __pi_strlen

  • lr : zocl_xclbin_set_dtbo_path+0x40/0xc0 [zocl]

Call trace:

  • __pi_strlen

  • zocl_xclbin_read_axlf

  • zocl_read_axlf_ioctl

  • drm_ioctl_kernel -> drm_ioctl -> ioctl

Also, lsmod shows zocl loaded, and sudo rmmod zocl fails with: rmmod: ERROR: Module zocl is in use.

I have seen similar issues happen when the bitstream is not generated for the correct device.

Did you build the add.bit yourself?

Have you tried to run the PYNQ-HelloWorld example?

I built the .bit file myself. At first I generated it with Vivado 2025.2, but it didn’t work — I got the same issue when loading the overlay.
Then I thought it might be a Vivado/PYNQ version compatibility problem, so I installed Vivado 2022.2 and rebuilt the design, but I still got the exact same problem.

I’m confident the target device/board is correct. I’m using the KR260 board (the same board shown in the photo I shared).

I will try the helloworld example this evening and i will answer you tomorrow about it because i have to go to work sorry .

image

1 Like

Hi, I cloned the Hello World project from https://github.com/mariodruiz/PYNQ-HelloWorld.git and imported the required libraries as described in the instructions. When I tried to load the overlay with resize_design = Overlay("resizer.bit"), the notebook kernel became unresponsive for a while and then crashed (“dead kernel”) while running inside Jupyter on a KRIA board.

I checked the board logs and it does not look like a simple Python/Jupyter issue: dmesg shows a kernel crash inside the XRT/zocl driver while loading the xclbin/axlf, with a call trace that includes zocl_xclbin_read_axlf (zocl) and __pi_strlen. Around the same time, the system logs also show fpga_manager fpga0: writing resizer.bin to Xilinx ZynqMP FPGA Manager.

Note: I am using the KRIA KR260.

Hi @V1926,

Didn’t the PYNQ-HelloWorld get installed? You should see it when you launch the notebook.
Installing it is part of the install.sh processes.

Also, from the jupyter terminal, can you report the output of xbutil examine

Mario

You i think i should try a format and install ubuntu and Pynq again ?

This looks OK.

Could you doble check you got the correct .bit and .hwh for the HelloWorld.

Mario

I downloaded the files from the links you send me and agai i have the same isue .

Hi @V1926,

I completed the process from scratch, burn Ubuntu 22.04 image, boot, install PYNQ and it worked for me. Can you please try to repeat the steps?

Also, can you confirm which firmware is your KR260 board running? xmutil bootfw_status
Also, what is your board/carrier card revision. This is on the other side of the Raspberry Pi header?

Mario

I gonna try to install from this link https://ubuntu.com/download/amd the Ubuntu Desktop 22.04 LTS and i will install following those steps and i will tell you if it worked!

git clone https://github.com/Xilinx/Kria-PYNQ.git
cd Kria-PYNQ/
sudo bash install.sh -b KR260