PetaLinux rootfs 中的软件包管理 - 2022.1 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 简体中文

软件包管理功能是 Vitis 2020.1 版中的新增功能。所有 PetaLinux rootfs 软件包都在 https://petalinux.xilinx.com/sswreleases/rel-v2020/feeds 上进行托管。您可在目标板上运行 Linux 时将这些软件包安装到 rootfs 中,前提是开发板有权访问互联网。

要使用此功能,您必须启用 rootfs 中的软件包管理器 DNF。赛灵思提供的预构建 Linux 组件中的 rootfs 默认提供 DNF 软件包管理功能。

要设置软件包订阅源 URL:

  1. 访问软件包订阅源存储库目录 https://petalinux.xilinx.com/sswreleases/rel-v2020/generic/rpm/repos/
  2. 下载存储库文件,此文件用于将您的 SoC 器件匹配到目标板。
    # Example: ZCU102 uses ZU9EG devices
    wget http://petalinux.xilinx.com/sswreleases/rel-v2020/generic/rpm/repos/zynqmp-generic_eg.repo
    # Example: ZCU104 uses ZU7EV devices
    wget http://petalinux.xilinx.com/sswreleases/rel-v2020/generic/rpm/repos/zynqmp-generic_ev.repo
  3. 将下载的存储库文件复制到 /etc/yum.repos.d/
  4. 清除高速缓存。
    dnf clean all

要管理软件包,请使用 DNF 软件包管理器:

列出可用软件包
使用 dnf repoquery 命令。
赛灵思存储库安装软件包
使用 dnf install <pkg name> 命令。
从本地软件包文件安装软件包
使用 dnf install <pkg file name> 命令。
将软件包安装到 sysroot

在运行中的开发板的 rootfs 上安装软件包后,目标板上即包含最新二进制文件和库。如需在主机上进行交叉编译,则必须将这些库添加到主机侧 sysroot。

在 XRT 中提供了 sysroot_overlay 脚本,用于提取 RPM 并更新 sysroot。此脚本将提取 RPM 库并在 sysroot 中包含文件更新。

除 XRT 外,此脚本还支持将所有 RPM 用于各种软件包。

获取 sysroot_overlay.sh
使用 wget https://github.com/Xilinx/XRT/blob/master/src/runtime_src/tools/scripts/sysroots_overlay.sh 命令。
sysroot 命令描述为:
./sysroots_overlay.sh --sysroot --rpms-file

其中:

  • --sysroot 是要覆盖的 sysroot。
  • --rpms-file 是 RPM 文件,其中包含要覆盖的 RPM 文件路径。

示例

以下示例演示了用于将更新后的 XRT 安装到公用 sysroot 的命令:

./sysroots_overlay.sh -s sysroots/aarch64-xilinx-linux/ -r $PWD/rpm.txt

此示例显示了 rpm.txt 文件的内容:

./xrt-dev-202010.2.6.0-r0.aarch64.rpm
./xrt-202010.2.6.0-r0.aarch64.rpm
注释: 此脚本仅适用于本地 RPM。您必须将 RPM 下载到自己的主机上才能将其安装到公用 sysroot。