- 烧录镜像并从对应发布快照的软件包服务器安装软件包。
- 本地构建、烧录镜像并使用本地构建生成的软件包。
- 为 Config #3 和 Config #4 定义 BitBake 镜像配方,并烧录包含 overlay 的生成镜像。
- 有关 Config #3 和 Config #4 的更多信息,请参阅 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 参考软件包服务器安装软件包。
- 下载并烧录
qcom-multimedia-image上游镜像。 - 安装与 overlay 对应的软件包:
- 添加作为 Qualcomm Linux 2.0 版本一部分提供的以下软件包源 URL:https://artifacts.codelinaro.org/qli-yocto-rpm-signed/qli-2.0/rpm
- 使用软件包管理器在设备上安装软件包。
- 要管理配置,请更新
/etc/modprobe.d/中的相关文件(例如asoc-blacklist.conf、video-blacklist.conf)以进行驱动选择。 - 设置 EFI 变量以选择摄像头驱动。
- 如有需要,设置 EFI 变量以向 UEFI 指示 DTB overlay。
图:Qualcomm Linux overlay 工作流
从 Qualcomm Linux 参考软件包服务器安装软件包
您可以在不进行软件构建的情况下使用 overlay 安装软件包。CodeLinaro 上设置了包含所有镜像和 RPM 软件包的测试服务器。 要烧录镜像并为 overlay 安装 RPM,请执行以下操作:- 要为
RB3Gen2 Core Kit烧录qcom-multimedia-image,请执行以下操作:- 从 artifactory 服务器下载
qcom-multimedia-image-rb3gen2-core-kit.rootfs.qcomflash.tar.gz。 - 解压
qcom-multimedia-image-rb3gen2-core-kit.rootfs.qcomflash.tar.gz。 - 使用 Qualcomm Device Loader(QDL)工具或 Product Configuration Assistant Tool(PCAT)进行烧录。
- 从 artifactory 服务器下载
- 启动并登录您的设备。
- 要在设备上配置
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 仓库:
armv8_2a 目标
以下目标使用armv8_2a 基础仓库:
- QCS6490(RB3 Gen2)
- IQ-9075 EVK
- IQ-8275 EVK
-
Shikra EVK
第二个配置块
[overlay-<target-specific>]决定 DNF 为您的硬件或构建目标使用哪个软件包源。例如:- QCS6490
- IQ-9075
- IQ-8275
- Shikra-evk
armv8_6a 目标
以下目标使用armv8_6a 基础仓库:
- IQ-X5121 EVK(Purva)
- IQ-X7181 EVK(Hamoa)
- IQ-X5121 (Purva)
- IQ-X7181 (Hamoa)
/etc/yum.repos.d/overlay.repo 中同时配置架构仓库(armv8_2a 或 armv8_6a)和相应的目标专用仓库。
“
-
要使用您的自定义配置文件刷新软件包索引,请运行以下命令:
注意 如果在 DNF update 期间遇到 SSL 证书验证错误,请确保系统时间准确。 在此步骤中,DNF 执行以下操作:
- 下载仓库元数据(例如
repomd.xml及相关文件) - 检索相关的元数据签名
- 仅在验证成功时接受并使用仓库元数据
- 下载仓库元数据(例如
运行 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 和驱动软件包是否已成功安装的dnf 和 lsmod 命令:
表:RPM 和驱动软件包验证命令
要卸载 overlay,请参阅卸载 overlay 配置并切换到上游驱动。
本地构建、烧录镜像并使用本地构建生成的软件包
注意 有关如何从源码构建的说明,请参阅 Qualcomm Linux 构建指南。 使用此工作流,通过克隆meta-qcom 来构建镜像和软件包。如果您想集成自己的更改,也可以使用此工作流。与 Qualcomm Linux 发布版本对应的镜像和软件包在本地构建。您可以从本地工作区烧录镜像并安装软件包。
设置本地工作区
-
要克隆
meta-qcom,请运行以下命令: -
要为 Config #1
qcom-multimedia-image构建镜像,请运行以下命令:- QCS6490
- IQ-9075
- IQ-8275
- IQ-615
- IQ-X5121 (Purva)
- IQ-X7181 (Hamoa)
- Shikra EVK
-
要为 Config #2
qcom-multimedia-proprietary-image构建镜像及所有软件包,请运行以下命令:注意- QCS6490
- IQ-9075
- IQ-8275
- IQ-615
- IQ-X5121 (Purva)
- IQ-X7181 (Hamoa)
- Shikra EVK
qcom-distro.yml将 DISTRO 设置为qcom-distro。qcom-distro启用使用 DNF 的软件包管理,并允许安装 RPM。meta-qcom-distro中提供的其他 DISTRO 配置使用 OSTree 启用SOTA,并禁用软件包管理。
安装软件包并配置 RPM 仓库
- 使用 QDL 烧录
qcom-multimedia-image。 - 托管
qcom-multimedia-proprietary-image的rpm目录中的所有软件包。rpm目录位于build/tmp/deploy/rpm。 - 要在设备上配置 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 验证。
[overlay-<target-specific>] 决定 DNF 为您的硬件或构建目标使用哪个软件包源。
armv8_2a 目标
以下目标使用armv8_2a 基础仓库:
- QCS6490(RB3 Gen2)
- IQ-9075 EVK
- IQ-8275 EVK
- Shikra EVK
- QCS6490
- IQ-9075
- IQ-8275
- Shikra EVK
armv8_6a 目标
以下目标使用armv8_6a 基础仓库:
- IQ-X5121 EVK(Purva)
- IQ-X7181 EVK(Hamoa)
- IQ-X5121 (Purva)
- IQ-X7181 (Hamoa)
/etc/yum.repos.d/overlay.repo 中同时配置架构仓库(armv8_2a 或 armv8_6a)和相应的目标专用仓库。
“
-
要使用您的自定义配置文件刷新软件包索引,请运行以下命令:
在此步骤中,DNF 执行以下操作:
- 下载仓库元数据(例如
repomd.xml及相关文件) - 检索相关的元数据签名
- 仅在验证成功时接受并使用仓库元数据
- 下载仓库元数据(例如
为 Config #3 和 Config #4 定义镜像配方
注意 有关如何从源码构建的说明,请参阅 Qualcomm Linux 构建指南。 使用此工作流为 Config #3 和 Config #4 定义 BitBake 镜像配方,并烧录包含 overlay 的生成镜像。 要定义并构建镜像,请执行以下操作:-
要克隆
meta-qcom,请运行以下命令: -
要在本地克隆包括
meta-qcom-distro在内的所有层,请运行以下命令:
为 Config #3 定义镜像
-
要在
meta-qcom-distro中为 Config #3 定义镜像,请运行以下命令: -
在 vim 编辑器中,将以下内容添加到新的镜像配方文件中:
注意 如果您的目标设备是基于 QCS615 的 EVK,请从
qcom-config3-image中排除iris-video-dlkm。iris-video-dlkm不支持基于 QCS615 的 EVK 的视频功能。基于 QCS615 的 EVK 由上游视频驱动提供支持。 -
要构建新的镜像配方,请运行以下命令:
- 构建完成后,使用 QDL 工具烧录镜像。
为 Config #4 定义镜像
-
要在
meta-qcom-distro中为 Config #4 定义镜像,请运行以下命令: -
在 vim 编辑器中,将以下内容添加到新的镜像配方文件中:
-
要构建新的镜像配方,请运行以下命令:
- 构建完成后,使用 QDL 工具烧录镜像。

