Package Management - 2021.1 English

PetaLinux Tools Documentation Reference Guide (UG1144)

Document ID
UG1144
Release Date
2021-06-16
Version
2021.1 English

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

Figure 1. Package Management
  1. Enable DNF through petalinux-config -c rootfs. Enable the following configs to use DNF.
    • Image Features > [*] package management
    • Set the base package feed url in Image features > package-management > package-feed-uris.

      For BSPs, http://petalinux.xilinx.com/sswreleases/rel-v2021.1/generic/rpm/.

      Check the available architecture in the above URLs.

    • Set the package feed architecture in Image features > package management > package-feed-archs.
      Note: From 2021.1, specifying package-feed-archs is optional and PetaLinux or Yocto set the archs based on the project.

      The possible archs are below:

      • zcu102
        • noarch
        • aarch64
        • zynqmp
        • zynqmp_generic
        • zynqmpeg
      • zcu104 and zcu106
        • noarch
        • aarch64
        • zynqmp
        • zynqmp_generic
        • zynqmpev
      • zcu111, zcu 208, and RFSoC BSPs
        • noarch
        • aarch64
        • zynqmp
        • zynqmp_generic
        • zynqmpdr
      • vck190
        • noarch
        • aarch64
        • versal
        • versal_generic
        • versal-ai-core
      • vmk180
        • noarch
        • aarch64
        • versal
        • versal_generic
        • versal-prime
      • zc702/zc706/ac701
        • cortexa9hf_neon
        • cortexa9t2hf_neon
        • zynq
        • zynq7z
        • zynq_generic
  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 shown below.
    
    [oe-remote-repo-sswreleases-rel-v2021-generic-rpm-noarch]
    name=OE Remote Repo: sswreleases rel-v<PETALINUX_VER> generic rpm noarch
    baseurl=http://petalinux.xilinx.com/sswreleases/rel-v<PETALINUX_VER>/generic/rpm/noarch
    gpgcheck=0
    
    [oe-remote-repo-sswreleases-rel-v<PETALINUX_VER>-generic-rpm-aarch64]
    name=OE Remote Repo: sswreleases rel-v<PETALINUX_VER> generic rpm aarch64
    baseurl=http://petalinux.xilinx.com/sswreleases/rel-v<PETALINUX_VER>/generic/rpm/aarch64
    gpgcheck=0
    
    [oe-remote-repo-sswreleases-rel-v<PETALINUX_VER>-generic-rpm-zynqmp]
    name=OE Remote Repo: sswreleases rel-v<PETALINUX_VER> generic rpm zynqmp
    baseurl=http://petalinux.xilinx.com/sswreleases/rel-v<PETALINUX_VER>/generic/rpm/zynqmp
    gpgcheck=0
    
    [oe-remote-repo-sswreleases-rel-v<PETALINUX_VER>-generic-rpm-zynqmpeg]
    name=OE Remote Repo: sswreleases rel-v<PETALINUX_VER> generic rpm zynqmpeg
    baseurl=http://petalinux.xilinx.com/sswreleases/rel-v<PETALINUX_VER>/generic/rpm/zynqmpeg
    gpgcheck=0
    
    [oe-remote-repo-sswreleases-rel-v<PETALINUX_VER>-generic-rpm-zynqmp_generic]
    name=OE Remote Repo: sswreleases rel-v<PETALINUX_VER> generic rpm zynqmp_generic
    baseurl=http://petalinux.xilinx.com/sswreleases/rel-v2021/generic/rpm/zynqmp_generic
    gpgcheck=0
    
    
  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.