Introduction - 2023.2 English

PetaLinux Tools Documentation: Reference Guide (UG1144)

Document ID
UG1144
Release Date
2023-10-18
Version
2023.2 English

PetaLinux is an embedded Linux Software Development Kit (SDK) targeting FPGA-based system-on-a-chip (SoC) designs or FPGA designs.

You are expected to possess fundamental proficiency in Linux, including the ability to execute Linux commands. You should also know the OS and host system functionalities, such as the OS version, Linux distribution, security privileges, and elementary concepts of Yocto.

The PetaLinux tool contains the following:

  • Yocto Extensible SDK (eSDK)
  • XSCT (Software Command-Line Tool) and toolchains
  • PetaLinux Command Line Interface (CLI) tools
Note: AMD Vitis™ unified software platform is the integrated design environment (IDE) for creating embedded applications on AMD microprocessors. For more details, refer to Vitis Unified Software Platform Documentation: Embedded Software Development (UG1400).

PetaLinux SDK is an AMD development tool that contains everything necessary to build, develop, test, and deploy embedded Linux systems.

New Features in 2023.2

Table 1. New Features
Sr No. New Features Section
1 NFS root support for MB. Configuring NFS Boot
2 Automated boot flow when user select any available memory in design. Boot from HBM/Higher DDR/LP DDR
3 Segmented boot flow template support in PetaLinux tools. Versal (Segmented Configuration Flow)
4 Removed OS support for Ubuntu 20.04 LTS and 20.04.1 LTS versions.

Added OS support for ubuntu 20.04.6 LTS, 22.04.2 LTS version.

Added OS support for OPEN SUSE Leap 15.4 and Add OS support for AlmaLinux 9.1 version.

Installation Requirements
5 Added Config option to specify Inherit conf file used to generate the yocto machine conf file using gen-machine-conf. Yocto Settings
6 Added Config option to specify additional MACHINEOVERRIDES to generate the machine conf file. Yocto Settings
7 Password recovery mechanism in PetaLinux without rebuilding. Password Recovery
8 Migrated to use the New FPGA manager template classes from PetaLinux. Dynamic Configuration Support in PetaLinux
9 New BSPs added in 2023.2. KD240 starter kit flat BSP.

VEK280 PRE-PROD BSP with new eth phy.

10 Dropped BSPs.

Removed zcu1275 and zcu1285 BSPs.

11 Default boot out of HBM for vhk158 prod BSP.  

Yocto Extensible SDK

The following table details the three extensible SDKs installed.

Table 2. Extensible SDKs
Path Architecture
PETALINUX/components/yocto/source/aarch64 AMD Zynq™ UltraScale+™ MPSoC and AMD Versal™ adaptive SoC.
PETALINUX/components/yocto/source/arm Zynq 7000 devices.
PETALINUX/components/yocto/source/microblaze MicroBlaze™ platform.
Note: MicroBlaze lite design is not supported from 2022.1 onwards.
Table 3. PetaLinux Uses the Following Properties to Identify between MicroBlaze Lite Design or MicroBlaze Full Design:
MicroBlaze Lite MicroBlaze Full
Verify the below properties in <plnx-proj-root>/build/misc/plnx_syshw_data file:

XILINX_MICROBLAZE0_USE_DIV: 0 int XILINX_MICROBLAZE0_USE_HW_MUL: 0 int
Verify the below properties in <plnx-proj-root>/build/misc/plnx_syshw_data file:

XILINX_MICROBLAZE0_USE_DIV: 1 int XILINX_MICROBLAZE0_USE_HW_MUL: 2 int
Note: Earlier, the eSDKs were extracted in the specified path, but now they are in self-extractable TAR files. From the 2021 release onwards, your eSDK scripts have the same names. They are extracted into <plnx-proj-root>/components/yocto when you run the petalinux-config or the petalinux-build command in the PetaLinux project. The project extracts the corresponding eSDK; for example, if you create a Zynq UltraScale+ MPSoC project, only the aarch64 eSDK is extracted into the <plnx-proj-root>/components/yocto project.

XSCT and toolchains

PetaLinux tool uses the XSCT underneath for all the embedded software applications configuration tool.

PetaLinux Command Line Interface (CLI) tools

This contains all the PetaLinux commands that you require. The CLI command tools are:

  • petalinux-create
  • petalinux-config
  • petalinux-build
  • petalinux-util
  • petalinux-package
  • petalinux-upgrade
  • petalinux-devtool
  • petalinux-boot