Introduction - 2024.2 English - UG1144

PetaLinux Tools Documentation: Reference Guide (UG1144)

Document ID
UG1144
Release Date
2024-11-13
Version
2024.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 and toolchains
  • PetaLinux Command Line Interface (CLI) tools
Note: AMD Vitis™ unified software platform is the integrated design environment (IDE) for creating standalone 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.

From 2024.2 onwards, you have the flexibility to choose from two ways to build the PetaLinux images:
XSCT Flow
Using the XSCT flow by providing xsa file as input to petalinux-config.
system-device-tree
You can also build the images without relying on XSCT using system-device-tree. The input to petalinux-config is system-device-tree instead of XSA.
Note: For 2024.2 release, SDT support is provided for AMD Zynq™ MP,Versal adaptive SoC, AMD Kria™ , System Controller and Zynq 7000. This does not includeMicroBlaze.
More details can be found in this link: system device tree xlnx.
Note: The pre-built images delivered as part of PetaLinux BSPs, source code, and configurations are provided for demonstration purposes only, and change to are not suitable outside of a development environment, including for production purposes. Before production and deployment of any Linux-based system, it is recommended that all relevant security updates are applied and a mechanism for in-field updates is made available throughout the lifetime of the relevant product

Yocto Extensible SDK

The following table details the three extensible SDKs installed.

Table 1. Extensible SDKs
Path Architecture
PETALINUX/components/yocto/aarch64 AMD Zynq™ UltraScale+™ MPSoC and AMD Versal™ adaptive SoC.
PETALINUX/components/yocto/arm AMD Zynq™ 7000 devices.
PETALINUX/components/yocto/microblaze MicroBlaze™ platform.
Note: The eSDKs were extracted in the specified path earlier, 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 tool chains

PetaLinux tool uses the XSCT underneath to configure and build all the embedded software applications.

XSCT tool chain path: $PETALINUX/components/xsct

PetaLinux Command Line Interface (CLI) tools

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

Note: From 2024.2 onwards, PetaLinux uses the Python interface for the command line utils as going towards Open sourcing.
  • petalinux-create
  • petalinux-config
  • petalinux-build
  • petalinux-util
  • petalinux-package
  • petalinux-upgrade
  • petalinux-devtool
  • petalinux-boot