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.dtsiandpetalinuxbsp.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.