使用 Yocto 构建 DTB
DTB 会在完整的 Yocto 镜像构建过程中自动构建。若要在 DTS 更改后 仅重新构建设备树而不进行完整的镜像重建:- 进入 kas shell:
- 强制内核 recipe 重新编译(以拾取 DTS 更改):
- 重新构建设备镜像,将更新后的 DTB 重新打包到
dtb.bin中:
tmp/deploy/images/<machine>/dtbs/ 下。
将 DTB 部署到设备
完整的 Yocto 构建完成后,烧录完整镜像以更新所有分区, 包括 DTB 分区:独立构建 DTB(不使用 Yocto)
使用kmake 独立工作流时,可通过以下命令仅构建设备树:
.dtb 和 .dtbo 文件位于
../kobj/arch/arm64/boot/dts/qcom/ 中。
将多个 dtb 打包为 FIT 镜像
若要将它们打包为可烧录的dtb.bin FIT 镜像,请使用来自
qcom-dtb-metadata
仓库的 make_fitimage.sh(需要 kmake-image Docker 工具链):
将 dtb 打包为单一默认镜像
若要将您的 dtb 作为单一且默认的设备树 blob 包含在内,以便 uefi 在启动期间选取,请使用generate_boot_bins.sh 打包 dtb.bin,并显式
将您的 dtb 传递给它。
kmake-image 实用工具,请参阅其项目自述文件。
将 DTB 部署到设备
使用打包多个 dtb 的make_fitimage.sh 或打包单个 dtb 的
generate_boot_bins.sh 生成 dtb.bin 之后:
在内核或 DTS 更改后,请同时烧录
efi.bin 和 dtb.bin,
以保持内核和设备树同步。有关完整的增量烧录流程,请参阅
安装和引导内核。在启动时验证 DTB 选择
设备重启后,确认已加载预期的设备树。 检查已加载的 compatible 字符串:compatible 字符串匹配。例如,
对于 QCS6490 RB3 Gen 2:

