---
title: "AMD PetaLinux"
---

# AMD PetaLinux

A PetaLinux project on the build host in the AMD PetaLinux view, the hardware description imported, system and root file system configuration, builds, BOOT.BIN and SD images, QEMU and JTAG boot, and the AMD Yocto flow with meta-xilinx.

For Zynq UltraScale+ and Versal products built with AMD PetaLinux, or with AMD's Embedded Development Framework (EDF: meta-xilinx and gen-machine-conf).

**State:** **no `petalinux-*` command has ever run** (no PetaLinux installation was available; the options come from AMD's UG1144 through search results). The project probe and the command lines were checked against AMD's own ZCU104 PetaLinux 2022.1 project and its Makefiles; the configuration editors against gen-machine-conf rel-v2024.2's Kconfig with Linux 6.8's `conf` (kept and dropped values as predicted); BOOT.BIN partitions from a real `bitbake -e xilinx-bootbin` (BitBake 2.8.1, meta-xilinx rel-v2024.2, zynqmp-generic); SSH reads and a confirmed configuration write through a real sshd. Not run: gen-machineconf from the module, QEMU and JTAG boot, a board, Windows. A verification kit runs the same command lines on a PetaLinux build server and collects each command's `--help`; until its report is back, every PetaLinux action is "not yet run against PetaLinux".

## Open the project

Set the build host's `buildDirectory` to the PetaLinux project and `petalinuxSettings` to the installation's `settings.sh` (for example `/opt/petalinux/2024.2/settings.sh`), sourced before every `petalinux-*` command. The **AMD PetaLinux** view recognises the project from `project-spec/`, `.petalinux/metadata` and `config`, and shows:

- the PetaLinux release and installation, the SoC family and machine, and the root file system type;
- the hardware description (`system.xsa`, the bitstream) with sizes and dates;
- **Configuration**: System Configuration, Root File System Configuration, `system-user.dtsi` and `petalinuxbsp.conf`;
- **Build**, the images in `images/linux`, and each BOOT.BIN component (FSBL, bitstream, U-Boot, PMU firmware, Arm Trusted Firmware) with its path;
- **Boot**: QEMU and JTAG.

**Refresh AMD PetaLinux Project** reads it again.

## Commands

| Command | What it runs |
|---|---|
| **Import Hardware Description (XSA) into PetaLinux Project...** | `petalinux-config --get-hw-description` with an XSA from the HDL module's Vivado export, this computer or the build host, shown with its SHA-256 and confirmed |
| **Open PetaLinux System Configuration** | The system configuration editor over gen-machine-conf's Kconfig; a write shows the exact lines, runs `petalinux-config --silentconfig` and reads back what Kconfig kept |
| **Open PetaLinux Root File System Configuration** | The same for `petalinux-config -c rootfs` |
| **Build PetaLinux Project...** | `petalinux-build` for the whole project or `-c <component>`, with BitBake's errors in Problems |
| **Clean PetaLinux Project (mrproper)...** | `petalinux-build -x mrproper`, after a warning confirmation |
| **Package Boot Image (BOOT.BIN)...** | `petalinux-package --boot`, showing every component and its path before it runs |
| **Package SD Card Image (WIC)...** | `petalinux-package --wic` |
| **Boot PetaLinux Image in QEMU...** | `petalinux-boot --qemu` |
| **Boot PetaLinux Image on Board over JTAG...** | `petalinux-boot --jtag`, naming the board and the hw_server in the confirmation |

Each command runs in a terminal on the build host after a confirmation with the exact command line.

## The AMD Yocto flow (EDF)

On a meta-xilinx build, the commands that apply are listed (`gen-machineconf`, `bitbake xilinx-bootbin`, `devtool boot-jtag`, `runqemu`):

- **Generate Machine Configuration (gen-machineconf)...** runs gen-machineconf;
- **Build BOOT.BIN (AMD Yocto Build)** builds `xilinx-bootbin`;
- **Read BOOT.BIN Partitions (AMD Yocto Build)** reads the partitions from `bitbake -e xilinx-bootbin`.

## Agent tools

Three read-only tools and seven that ask first.

Next: [Reference and testing](https://neuralinverse.com/docs/modules/embedded-linux/reference/).
