...
The Xilinx Certified Ubuntu 20.04 LTS for Xilinx Devices image is an official Ubuntu image with certified hardware support for select Xilinx evaluation boards. This page details how to boot and use the official desktop environment image released by Canonical for Xilinx ZCU102, ZCU104, and ZCU106 evaluation boards as well as the Kria KV260 Starter Kit. You can read more and download the certified Ubuntu hardware here.
Table of Contents
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Info |
---|
For the 22.04 Jammy Jellyfish release, please refer to the 22.04 getting started page: Getting Started with Certified Ubuntu 22.04 LTS for Xilinx Devices |
Table of Contents
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Hardware and Software Requirements
...
ZCU102: https://github.com/Xilinx/Vitis-AI/tree/v1.3.2/dsa/DPU-TRD/prj/Vitis#51-board-setup
Kria KV260 Starter Kit: Getting Started with Kria KV260 Starter Kit, Step 3: Connecting Everything
For general information about how the boot process works for the ZCU10x image, please refer to Booting Certified Ubuntu 20.04 LTS for Xilinx Devices. For information on how the boot process works for the Kria KV260 Starter Kit, please refer to the Kria K26 SOM wiki page.
Info |
---|
NOTE: There are important differences for using the Certified Ubuntu on Xilinx Devices release on the ZCU104 board. Please see the Special Considerations for the ZCU104 Evaluation Board section. |
...
|
After installing the xlnx-config snap, you can use it to set up the remainder of the system by executing the following command in a terminal:
Code Block |
---|
$ xlnx-config.sysinit |
Info |
---|
NOTE: The Xilinx team updates the |
...
|
Info |
---|
--channel is required to specify the 1.x track that is compatible with the Ubuntu 20.04 release. If you don’t specify the 1.x track, the 22.04 compatible snap will be used, and you will get an error. |
Info |
---|
For Kria users who are familiar with the |
The heart of the ZCU10x demonstration experience is the Xilinx Deep Learning Processing Unit (DPU). In addition to setting up the system, the xlnx-config
snap provides the DPU via dpu.xclbin
to other snaps that depend on it. The xlnx-config
snap also provides infrastructure which allows users to package up other hardware platforms to enable other custom development and demonstration workflows. For more information about creating and installing custom platforms via xlnx-config
, see the Usage Example section on the xlnx-config developer page.
Install the Custom Xilinx gstreamer
By default, the Ubuntu 20.04 LTS root filesystem includes the open source upstream version of gstreamer
that is packaged with Ubuntu 20.04 LTS. In order to take advantage of the unique features provided by Xilinx multimedia IP, xlnx-config.sysinit
installs a customized Xilinx-specific version of gstreamer
with specialized extensions and plugins.
Download a Vitis AI Model (ZCU104 and ZCU106 Only)
During xlnx-config.sysinit
, the densebox_640_360
model is downloaded from the Xilinx Model Zoo to facilitate running of the VCU ROI TRD Demo on ZCU10x platforms.
...
Each evaluation board boot image contains a default bitstream & device tree combination that is configured during the first boot. Each ZCU10x platform includes the Xilinx Deep Learning Processing Unit (DPU) in the Zynq UltraScale+ Programmable Logic (PL). These platforms also include a software stack (XRT + Vitis AI) required to take advantage of it. The Kria KV260 Starter Kit includes a series of Vitis platforms to support various accelerated applications (AAs). All of the out-of-the-box images are based on Xilinx 2020.2 tools, IP, drivers, and firmware. The default platforms for the three boards are:
...
Evaluation Board
...
Reference Hardware Platform
...
ZCU102
...
...
ZCU104
...
...
ZCU106
...
...
Kria KV260 Starter Kit
...
Running the ZCU10x DPU Demos
Each of the Out-of-the-Box demo designs includes the Xilinx DPU for machine learning inference. The ZCU104 & ZCU106 designs include a 4096x1 configuration. The ZCU102 includes 4096x3 configuration. Each DPU configuration has an identical feature set and they are compatible with the pre-built models in the Xilinx Model Zoo that target the ZCU10x boards.
Running the Vitis AI Library Samples Snap
The xlnx-vai-lib-samples
snap includes a pre-built subset of the Vitis AI Library sample applications available as source in the Vitis AI Github repository. After installing the snap, users can experiment with twenty-seven different Vitis AI samples and over 90 different pre-built models. For users on the ZCU10x platforms, this is all you need to do. Users on the Kria KV260 Starter Kit will require a compatible bitstream. Details on downloading and deploying this bitstream are coming soon.
For more information regarding using the xlnx-vai-lib-samples
snap, please visit the xlnx-vail-lib-samples developer page.
Building the Vitis AI Library Sample Applications from Source
For users that would like to build the Vitis AI Library sample applications from source on the target, please visit the Building Vitis-AI Sample Applications After installing the xlnx-config snap, you can use it to set up the remainder of the system by executing the following command in a terminal:
Code Block |
---|
$ xlnx-config.sysinit |
Note |
---|
In some cases when immediately running sysinit after the first boot, users have reported running into “waiting for cache lock” issues when the sysinit script attempts to install packages. This is due to the standard Ubuntu “unattended upgrades” process starting up before sysinit. If this happens, the systinit script will take much longer than usual while it waits for permission to begin installing packages. In certain situations, you may have to run xlnx-config.sysinit again. For more information about this issue, you can refer to the following page: |
xlnx-config.sysinit
takes care of the following items, depending on the system it's run on:
Install the Custom Xilinx gstreamer
By default, the Ubuntu 20.04 LTS root filesystem includes the open source upstream version of gstreamer
that is packaged with Ubuntu 20.04 LTS. In order to take advantage of the unique features provided by Xilinx multimedia IP, xlnx-config.sysinit
installs a customized Xilinx-specific version of gstreamer
with specialized extensions and plugins.
Download a Vitis AI Model (ZCU104 and ZCU106 Only)
During xlnx-config.sysinit
, the densebox_640_360
model is downloaded from the Xilinx Model Zoo to facilitate running of the VCU ROI TRD Demo on ZCU10x platforms.
Anchor | ||||
---|---|---|---|---|
|
Each ZCU10x evaluation board boot image contains a default bitstream & device tree combination that is configured during the first boot. Each ZCU10x platform includes the Xilinx Deep Learning Processing Unit (DPU) in the Zynq UltraScale+ Programmable Logic (PL). These platforms also include a software stack (XRT + Vitis AI) required to take advantage of it. The Kria KV260 Starter Kit includes a series of Vitis platforms to support various accelerated applications (AAs). All of the out-of-the-box images are based on Xilinx 2020.2 (2020.2.2 for Kria) tools, IP, drivers, and firmware.
The default platforms for the three boards are:
Evaluation Board | Reference Hardware Platform |
---|---|
ZCU102 | |
ZCU104 | |
ZCU106 | |
Kria KV260 Starter Kit |
Info |
---|
The KV260 will boot into Ubuntu without loading a bitstream. See Running the Kria KV260 Demos below for more information. |
Running the ZCU10x DPU Demos
Each of the Out-of-the-Box demo designs includes the Xilinx DPU for machine learning inference. The ZCU104 & ZCU106 designs include a 4096x1 configuration. The ZCU102 includes 4096x3 configuration. Each DPU configuration has an identical feature set and they are compatible with the pre-built models in the Xilinx Model Zoo that target the ZCU10x boards.
Running the Vitis AI Library Samples Snap
The xlnx-vai-lib-samples
snap includes a pre-built subset of the Vitis AI Library sample applications available as source in the Vitis AI Github repository. After installing the snap, users can experiment with twenty-seven different Vitis AI samples and over 90 different pre-built models. For users on the ZCU10x platforms, this is all you need to do. Users on the Kria KV260 Starter Kit will require a compatible bitstream. The xlnx-nlp-smartvision snap includes a bitstream that is compatible with the xlnx-vai-lib-samples application.
For more information regarding using the xlnx-vai-lib-samples
snap, please visit the xlnx-vail-lib-samples developer page.
Building the Vitis AI Library Sample Applications from Source
For users that would like to build the Vitis AI Library sample applications from source on the target, please visit the Building Vitis-AI Sample Applications on Certified Ubuntu 20.04 LTS for Xilinx Devices page for detailed steps.
Using the ZCU104 & ZCU106 VCU Region of Interest (ROI) TRD Demo
Note |
---|
This step requires an HDMI video source, HDMI display, and HDMI cables |
The primary goal of the VCU ROI design is to demonstrate the use of the Xilinx Deep learning Processor Unit (DPU) block for extracting the Region of Interest (ROI) data from input video frames. This information is then used to perform ROI-based encoding using the Video Codec Unit (VCU) encoder hard block present in Zynq UltraScale+ EV devices.
For instruction for running the VCU ROI TRD Demo on the supported platforms, please visit the Running the VCU ROI Demo on Certified Ubuntu 20.04 LTS for Xilinx Devices page for detailed steps.
Using the ZCU104 & ZCU106 VCU Region of Interest (ROI) TRD Demo
Note |
---|
This step requires an HDMI video source, HDMI display, and HDMI cables |
The primary goal of the VCU ROI design is to demonstrate the use of the Xilinx Deep learning Processor Unit (DPU) block for extracting the Region of Interest (ROI) data from input video frames. This information is then used to perform ROI-based encoding using the Video Codec Unit (VCU) encoder hard block present in Zynq UltraScale+ EV devices.
For instruction for running the VCU ROI TRD Demo on the supported platforms, please visit the Running the VCU ROI Demo on
Anchor | ||||
---|---|---|---|---|
|
The NLP SmartVision accelerated application is available as an Ubuntu snap. For more information, see the NLP SmartVision Snap wiki page.
Creating a Custom Hardware Platform
For the ZCU10x boards, users can replace the out-of-box hardware platform with customized versions. The xlnx-config snap helps facilitate switching between platforms.
For more information on how to package your custom boot assets into a Platform Assets Container (PAC) that xlnx-config can consume,, please refer to the xlnx-config Usage Example for ZCU10x.
Getting Help
Xilinx recommends posting on the Xilinx Embedded Linux Forum for any questions related to the Certified Ubuntu 20.04 LTS for on Xilinx Devices page for detailed stepsrelease.
Running the Kria KV260 Demos
The NLP SmartVision application is available as an Ubuntu snap. For more information, see the NLP SmartVision Snap wiki page.
Creating a Custom Hardware Platform
COMING SOON!
Getting Help
Xilinx recommends posting on the Xilinx Embedded Linux Forum for any questions related to the Certified Ubuntu 20.04 LTS on Xilinx Devices release.
Info |
---|
When posting on the Xilinx forums, please use the “Add Topic” feature to tag your post with the “EMBEDDED UBUNTU” topic (no underscore) |
...
Resources & References
This section outlines how to begin extending your usage beyond the initial Getting Started instructions.
For even more tips and tricks, see the Tips & Tricks page.
General Unsupported Usage Exceptions
The following configurations and use models are not supported:
Portrait mode is unsupported
Wake on USB (eg, pressing a key on a keyboard or clicking a button on a mouse) is not supported
...
This appends options to the kernel command line - the latest value is the one actually used. For this example, we're overriding the default CMA value of 1000M with cma=256M:
...
Info |
---|
When posting on the Xilinx forums, please use the “Add Topic” feature to tag your post with the “EMBEDDED UBUNTU” topic (no underscore) |
...
Resources & References
This section outlines how to begin extending your usage beyond the initial Getting Started instructions.
For even more tips and tricks, see the Tips & Tricks page.
General Unsupported Usage Exceptions
The following configurations and use models are not supported:
Portrait mode is unsupported
Wake on USB (eg, pressing a key on a keyboard or clicking a button on a mouse) is not supported
Anchor | ||||
---|---|---|---|---|
|
bootargs
Used By U-BootIf your application or configuration requires specific arguments you can configure U-Boot to pass these arguments automatically.
Example bootargs
lines
To update only the CMA value (256M in this case, 1000M is the default):
Code Block |
---|
sudo sh -c 'echo "LINUX_KERNEL_CMDLINE=\"cma=256M\"" > /etc/default/u-boot-xlnx' |
To update only the root filesystem location:
Code Block |
---|
sudo sh -c 'echo "LINUX_KERNEL_CMDLINE=\"root=\\/dev\\/sda1\"" > /etc/default/u-boot-xlnx' |
To update multiple arguments (CMA and root filesystem location):
Code Block |
---|
sudo sh -c 'echo "LINUX_KERNEL_CMDLINE=\"cma=256M\ root=\\/dev\\/sda1\"" > /etc/default/u- |
...
boot-xlnx' |
After updating the Linux kernel boot arguments, be sure to update the U-Boot configuration so that these arguments are passed to the Linux kernel on the next reboot
|
Remember to reboot the system for the changes to take place.
Note |
---|
Note: Remember that this overrides all arguments being passed to the Linux kernel so it is important to express all of the arguments you need in the same line. It is not a cumulative process. |
Note |
---|
Note: Be sure to delimit quotation marks around the |
Note |
Note: If command line arguments are being used which include forward slashes ( / ) such as those found in filesystem paths, they must be delimited twice. Example: |
...
Installing & Using the Xilinx PPA
...
Anchor | ||||
---|---|---|---|---|
|
COMING SOON!
Anchor | ||||
---|---|---|---|---|
|
...
Adapter Model | Status | Where to Purchase |
---|---|---|
JSAUX JSESNZ4KDP2HDF | Compatible | |
J5create JDA158 | Compatible | J5Create Direct , Amazon.com , Staples , Best Buy , NewEgg.com |
IVANKY-DP11 | Incompatible | |
ICZI IZEC-A10-IT | Incompatible | |
Snowkids DP to HDMI Cable | Incompatible |
Related Links
Building Vitis-AI Sample Applications on Certified Ubuntu 20.04 LTS for Xilinx Devices
https://xilinx-wiki.atlassian.net/wiki/pages/resumedraft.action?draftId=2105376824
Tips & Tricks for Certified Ubuntu 20.04 LTS on Xilinx Devices
Rebuilding the Certified Ubuntu for Xilinx Devices 20.04 LTS Kernel from Source
Using the Certified Ubuntu on Xilinx Devices image with a SATA hard disk