MicroZed Chronicles: Kria, PYNQ, and Ubuntu Images

February 4, 2022


Editor’s Note: This content is republished from the MicroZed Chronicles, with permission from the author.

 

A few months ago, Xilinx released official Ubuntu images for the ZCU102, ZCU104, and ZCU106 evaluation kits certified by canonical and available from the official Ubuntu site. When we covered this in a previous MicroZed Chronicles, we interviewed Tony McDowell and Terry O’Neal who hinted that there would be a version for the Kria KV260 Vision AI Starter Kit which might include support for PYNQ as well.

This release is very exciting because it brings together several aspects that I think really open the capabilities of the Kria board and regular readers know I am huge fan of PYNQ. This release provides the developer with access to composable pipelines and the DPU-PYNQ.

To get started, we first need to download the Ubuntu image from the Ubuntu website and write it to a SD card.

MZ_429_Install_Ubuntu_on_Xilinx

Once you have the image written to a SD card, ensure you have an Ethernet connection and boot the Kria. The next step is to sign into Ubuntu using a serial terminal (115200:n:1). 

Log in information is Ubuntu / Ubuntu and you will be asked to change the password as part of the sign on process. 

MZ_429_boot_from_Ubuntu

Following the boot, you will see the IP address of the board and information on the status of the system processor. 

Unlike with other PYNQ boards, the file system does not contain PYNQ. We need to install it instead. While this might sound daunting, it is quite straightforward. We simply need to clone the Kria PYNQ repository and run the installation script. 

Cloning the repository can be achieved using the following command: 

git clone https://github.com/Xilinx/Kria-PYNQ.git

MZ_429_git_clone

Once this is achieved, we can enter the directory and run the install.sh script.

sudo bash install.sh

MZ_429_install_sh

This might take several minutes to install. 

MZ_429_installation_in_progress

Once installed, we will be able to log into Jupyter Notebooks just as we do with other PYNQ systems.

MZ_429_Log_into_Jupyter

In a browser, navigate to the kria:9090/lab and log in with the password xilinx. 

MZ_429_Kria_Lab_Login

Once logged in, you will see the Juypter lab environment. The notebooks can be found several folders down the left handside of the screen. 

MZ_429_Open_Jupyter_Notebook

These notebooks contain designs which include the following:

  • Image processing with the Digilent Pcam 5C connected to the RPI port
  • Composable video processing pipeline 
  • DPU accelerated machine learning at the edge

Of course, we still get the same capabilities that we have always been able to do in PYNQ to accelerate and prototype our designs. 

I ran the MNIST example to get started exploring the DPU algorithm. This show the throughput which is possible when the DPU is used.

MZ_429_DPU_Algorithm

I am looking forward to creating some Hackster projects using these new capabilities and features.