Skip to main content
使用以下工作流之一来评估 overlay:

刷写镜像并安装与发布快照对应的软件包

使用此工作流部署基于 Qualcomm Linux 2.0 发布版本构建的镜像和软件包。与 Qualcomm Linux 发布里程碑对应的镜像和软件包发布在 CodeLinaro 上。 软件包服务器托管了从 Qualcomm Linux 2.0 Config #2 构建(即 qcom-multimedia-proprietary-image)生成的所有软件包。这些软件包由 Qualcomm Linux 2.0 发布版本的 qli-2.0 发布快照生成。该软件包服务器的用途是提供与 Config #1(即 qcom-multimedia-image)对应的镜像快照,以及由 Config #2(qcom-multimedia-proprietary-image)生成的相应软件包。 从发布快照的软件包服务器刷写镜像和安装软件包所涉及步骤的概述如下。有关详细说明,请参阅从 Qualcomm Linux 参考软件包服务器安装软件包
  1. 下载并刷写 qcom-multimedia-image 上游镜像
  2. 安装与 overlay 对应的软件包:
    1. 添加 Qualcomm Linux 2.0 发布版本中提供的以下软件包源 URL:https://artifacts.codelinaro.org/qli-yocto-rpm-signed/qli-2.0/rpm
    2. 使用包管理器在设备上安装软件包。
  3. 要管理配置,请更新 /etc/modprobe.d/blacklist.conf 以进行驱动程序选择。
  4. 设置 EFI 变量以选择摄像头驱动程序。
    • 如有需要,为向 UEFI 指示 DTB overlay 设置 EFI 变量。
图:Qualcomm Linux overlay 工作流

图:Qualcomm Linux overlay 工作流

从 Qualcomm Linux 参考软件包服务器安装软件包

您可以在无需软件构建的情况下使用 overlay 安装软件包。CodeLinaro 上已搭建一个测试服务器,其中包含所有镜像和 RPM 软件包。 要为 overlay 刷写镜像并安装 RPM,请执行以下操作:
  1. 要为 RB3Gen2 Core Kit 刷写 qcom-multimedia-image,请执行以下操作:
    1. 从 artifactory 服务器下载 qcom-multimedia-image-rb3gen2-core-kit.rootfs.qcomflash.tar.gz
    2. 解压 qcom-multimedia-image-rb3gen2-core-kit.rootfs.qcomflash.tar.gz
    3. 使用 Qualcomm Device Loader (QDL) 工具Product Configuration Assistant Tool (PCAT) 进行刷写。
  2. 启动并登录到您的设备。
  3. 要在设备上配置 yum.repos.d 仓库,请将以下行追加到配置文件中:
注意
  • /etc/yum.repos.d/ 是存放仓库配置文件的目录。请确保该目录存在;如不存在,请创建。
  • 在该目录中,确保 overlay.repo 文件存在。如果不存在,请在 /etc/yum.repos.d/overlay.repo 创建该文件。
  • 要配置 yum.repos.d 仓库,请将所需配置追加到 /etc/yum.repos.d/overlay.repo
  • yum.repos.d 仓库使用基于 GNU Privacy Guard (GPG) 的签名进行保护,以确保仓库元数据的真实性和完整性。.repo 文件中的这些设置会强制执行以下检查:
    • gpgkey 定义用于验证仓库元数据的受信任公开 GPG 密钥。
    • repo_gpgcheck=1 在任何软件包操作之前启用强制性的仓库 GPG 验证。
第二个块 [overlay-<target-specific>] 决定 DNF 针对您的硬件或构建目标使用哪个软件源。例如:
请确保追加了正确的目标特定配置行,以便 DNF 从正确的目录获取软件包。
  1. 要使用您的自定义配置文件刷新软件包索引,请运行以下命令:
    注意 如果在 DNF 更新期间遇到 SSL 证书验证错误,请确保系统时间准确。 在此步骤中,DNF 会执行以下操作:
    1. 下载仓库元数据(例如 repomd.xml 及相关文件)
    2. 获取相关的元数据签名
    3. 仅在验证成功后才接受并使用仓库元数据

运行 DNF 安装命令以派生 Config #2、Config #3 和 Config #4

注意 由于 Config #1 和 Config #2 是镜像,因此只有 Config #3 和 Config #4 需要运行命令来安装 overlay。您应使用 Config #1(即 qcom-multimedia-image)刷写设备。 下表列出了在设备上安装 overlay 软件包所需的 dnf install 命令以及派生 Config #2 必须进行的配置文件更改: 表:Config #2 的 DNF 命令和配置文件更改 下表列出了在设备上安装 overlay 软件包所需的 dnf install 命令以及派生 Config #3 必须进行的配置文件更改: 表:Config #3 的 DNF 命令和配置文件更改 下表列出了在设备上安装 overlay 软件包所需的 dnf install 命令以及派生 Config #4 必须进行的配置文件更改: 表:Config #4 的 DNF 命令和配置文件更改 要验证每个 overlay 的 RPM 和驱动软件包是否安装成功,请参阅验证 RPM 和驱动软件包的安装 注意 该软件包服务器基于 Qualcomm Linux 2.0 发布快照,用于演示 overlay。它并非旨在满足生产级打包服务器的需求。当下一版本的 Qualcomm Linux 发布时,将有新的软件源(软件包服务器 URL)提供由该版本生成的软件包。但是,无法保证基于软件包的版本间升级能够正常工作。

验证 RPM 和驱动软件包的安装

下表列出了用于验证 overlay 的 RPM 和驱动软件包是否安装成功的 dnflsmod 命令: 表:RPM 和驱动软件包验证命令 要卸载 overlay,请参阅卸载 overlay 配置并切换到上游驱动程序

在本地构建、刷写镜像并使用本地构建生成的软件包

注意 有关如何从源代码构建的说明,请参阅 Qualcomm Linux Build Guide 使用此工作流通过克隆 meta-qcom 来构建镜像和软件包。如果您想集成自己的更改,也可以使用此工作流。与 Qualcomm Linux 发布版本对应的镜像和软件包在本地构建。您可以从本地工作区刷写镜像和安装软件包。

设置本地工作区

  1. 要克隆 meta-qcom,请运行以下命令:
  2. 要为 Config #1 构建镜像 qcom-multimedia-image,请运行以下命令:
  3. 要为 Config #2 构建镜像 qcom-multimedia-proprietary-image 和所有软件包,请运行以下命令:
    注意 qcom-distro.yml 将 DISTRO 设置为 qcom-distroqcom-distro 启用使用 DNF 的软件包管理并允许安装 RPM。meta-qcom-distro 中提供的其他 DISTRO 配置使用 OSTree 启用 SOTA,并禁用软件包管理。

安装软件包并配置 RPM 仓库

  1. 使用 QDL 刷写 qcom-multimedia-image
  2. 托管 qcom-multimedia-proprietary-imagerpm 目录中的所有软件包。rpm 目录位于 build/tmp/deploy/rpm
  3. 要在设备上配置 RPM 仓库,请将以下行追加到配置文件中:
注意
  • /etc/yum.repos.d/ 是存放仓库配置文件的目录。请确保该目录存在;如不存在,请创建。
  • 在该目录中,确保 overlay.repo 文件存在。如果不存在,请在 /etc/yum.repos.d/overlay.repo 创建该文件。
  • 要配置 RPM 仓库软件源,请将所需配置追加到 /etc/yum.repos.d/overlay.repo
  • yum.repos.d 仓库使用基于 GNU Privacy Guard (GPG) 的签名进行保护,以确保仓库元数据的真实性和完整性。.repo 文件中的这些设置会强制执行以下检查:
    • gpgkey 定义用于验证仓库元数据的受信任公开 GPG 密钥。
    • repo_gpgcheck=1 在任何软件包操作之前启用强制性的仓库 GPG 验证。
注意 在为 QCS6490、IQ-9075、IQ-8275 和 IQ-615 构建时,baseurl 必须指向 armv8_2a/ 目录。如果您使用 qcom-armv8a.yml 通过 KAS 构建,或将 qcom-armv8a 设置为 MACHINE 值,请将目录名称更改为 armv8a/ 第二个块 [overlay-<target_specific>] 决定 DNF 针对您的硬件或构建目标使用哪个软件源。例如:
请确保追加了正确的目标特定配置行,以便 DNF 从正确的目录获取软件包。
  1. 要使用您的自定义配置文件刷新软件包索引,请运行以下命令:
    在此步骤中,DNF 会执行以下操作:
    1. 下载仓库元数据(例如 repomd.xml 及相关文件)
    2. 获取相关的元数据签名
    3. 仅在验证成功后才接受并使用仓库元数据
要卸载 overlay,请参阅卸载 overlay 配置并切换到上游驱动程序

为 Config #3 和 Config #4 定义镜像配方

注意 有关如何从源代码构建的说明,请参阅 Qualcomm Linux Build Guide 使用此工作流为 Config #3 和 Config #4 定义 BitBake 镜像配方,并刷写包含 overlay 的生成镜像。 要定义并构建镜像,请执行以下操作:
  1. 要克隆 meta-qcom,请运行以下命令:
  2. 要在本地克隆包括 meta-qcom-distro 在内的所有层,请运行以下命令:

为 Config #3 定义镜像

  1. 要在 meta-qcom-distro 中为 Config #3 定义镜像,请运行以下命令:
  2. 在 vim 编辑器中,将以下内容添加到新的镜像配方文件中:
    注意 如果您的目标设备是基于 QCS615 的 EVK,请从 qcom-config3-image 中排除 iris-video-dlkmiris-video-dlkm 不支持基于 QCS615 的 EVK 的视频功能。基于 QCS615 的 EVK 由上游视频驱动程序提供支持。
  3. 要构建新的镜像配方,请运行以下命令:
  4. 构建完成后,使用 QDL 工具刷写镜像。

为 Config #4 定义镜像

  1. 要在 meta-qcom-distro 中为 Config #4 定义镜像,请运行以下命令:
  2. 在 vim 编辑器中,将以下内容添加到新的镜像配方文件中:
  3. 要构建新的镜像配方,请运行以下命令:
  4. 构建完成后,使用 QDL 工具刷写镜像。
要卸载 overlay,请参阅卸载 overlay 配置并切换到上游驱动程序