Package Management - 2025.1 English - UG1144

PetaLinux Tools Documentation: Reference Guide (UG1144)

Document ID
UG1144
Release Date
2025-05-29
Version
2025.1 English

PetaLinux supports package management system forZynq UltraScale+ MPSoC, and AMD Versalâ„¢ devices. Use the following steps to configure and use the package management system:

Figure 1. Package Management Generated by Your Tool
  1. Enable DNF through petalinux-config -c rootfs. Enable the following configs to use DNF.
    • Image Features > [*] package management
    • No need to set the base package feed url in Image features > package-management > package-feed-uris.
    • No need to set the package feed architecture in Image features > package management > package-feed-archs.

      From 2021.1, specifying package-feed-uris and package-feed-archs is optional. PetaLinux or Yocto set the uris and set the archs based on the project.

      The possible archs are available in https://petalinux.xilinx.com/sswreleases/rel-v2025/generic/rpm/

  2. Build the project.
    #petalinux-build
  3. Boot Linux in SD or in JTAG boot mode.
  4. Check for .repo file on target in /etc/yum.repos.d/ as follows:
    xilinx-zcu102-20251:/home/petalinux# cat /etc/yum.repos.d/oe-remote-repo-sswreleases-rel-v2025.1-generic-rpm-rpm_latest.repo 
    [oe-remote-repo-sswreleases-rel-v2025.1-generic-rpm-rpm_latest-all]
    name=OE Remote Repo: sswreleases rel-v2025.1 generic rpm rpm_latest all
    baseurl=http://petalinux-uat.xilinx.com/sswreleases/rel-v2025.1/generic/rpm/rpm_latest/all
    gpgcheck=0
    
    [oe-remote-repo-sswreleases-rel-v2025.1-generic-rpm-rpm_latest-any]
    name=OE Remote Repo: sswreleases rel-v2025.1 generic rpm rpm_latest any
    baseurl=http://petalinux-uat.xilinx.com/sswreleases/rel-v2025.1/generic/rpm/rpm_latest/any
    gpgcheck=0
    
    [oe-remote-repo-sswreleases-rel-v2025.1-generic-rpm-rpm_latest-noarch]
    name=OE Remote Repo: sswreleases rel-v2025.1 generic rpm rpm_latest noarch
    baseurl=http://petalinux-uat.xilinx.com/sswreleases/rel-v2025.1/generic/rpm/rpm_latest/noarch
    gpgcheck=0
    
    [oe-remote-repo-sswreleases-rel-v2025.1-generic-rpm-rpm_latest-aarch64]
    name=OE Remote Repo: sswreleases rel-v2025.1 generic rpm rpm_latest aarch64
    baseurl=http://petalinux-uat.xilinx.com/sswreleases/rel-v2025.1/generic/rpm/rpm_latest/aarch64
    gpgcheck=0
    
    [oe-remote-repo-sswreleases-rel-v2025.1-generic-rpm-rpm_latest-armv8a]
    name=OE Remote Repo: sswreleases rel-v2025.1 generic rpm rpm_latest armv8a
    baseurl=http://petalinux-uat.xilinx.com/sswreleases/rel-v2025.1/generic/rpm/rpm_latest/armv8a
    gpgcheck=0
    
    [oe-remote-repo-sswreleases-rel-v2025.1-generic-rpm-rpm_latest-armv8a_crc]
    name=OE Remote Repo: sswreleases rel-v2025.1 generic rpm rpm_latest armv8a_crc
    baseurl=http://petalinux-uat.xilinx.com/sswreleases/rel-v2025.1/generic/rpm/rpm_latest/armv8a_crc
    gpgcheck=0
    
    [oe-remote-repo-sswreleases-rel-v2025.1-generic-rpm-rpm_latest-cortexa72_cortexa53]
    name=OE Remote Repo: sswreleases rel-v2025.1 generic rpm rpm_latest cortexa72_cortexa53
    baseurl=http://petalinux-uat.xilinx.com/sswreleases/rel-v2025.1/generic/rpm/rpm_latest/cortexa72_cortexa53
    gpgcheck=0
    
    [oe-remote-repo-sswreleases-rel-v2025.1-generic-rpm-rpm_latest-zynqmp_generic]
    name=OE Remote Repo: sswreleases rel-v2025.1 generic rpm rpm_latest zynqmp_generic
    baseurl=http://petalinux-uat.xilinx.com/sswreleases/rel-v2025.1/generic/rpm/rpm_latest/zynqmp_generic
    gpgcheck=0
    
    [oe-remote-repo-sswreleases-rel-v2025.1-generic-rpm-rpm_latest-xlnx_zynqmp_zcu102_rev1_0]
    name=OE Remote Repo: sswreleases rel-v2025.1 generic rpm rpm_latest xlnx_zynqmp_zcu102_rev1_0
    baseurl=http://petalinux-uat.xilinx.com/sswreleases/rel-v2025.1/generic/rpm/rpm_latest/xlnx_zynqmp_zcu102_rev1_0
    gpgcheck=0
    
    xilinx-zcu102-20251:/home/petalinux#
    
  5. List all available packages.
    #dnf repoquery
  6. Install a specific package.
    #dnf install <pkg name>

    Example: #dnf install packagegroup-petalinux-matchbox

    Once the matchbox package is installed, reboot the target and you should get the desktop environment.