Skip to main content
构建成功后,Qualcomm® Linux 启动系统使用两个已刷写的镜像来启动内核:efi.bin(ESP 分区)和 dtb.bin(DTB 分区)。

镜像构成

Yocto 构建将内核产物打包为可刷写的镜像:
  • efi.bin 是 EFI 系统分区(ESP)镜像。包含 systemd-boot(启动管理器)和打包为 UKI type-2 镜像的内核,该镜像捆绑了内核、initramfs,以及可选的设备树。刷写到 efi 分区。
  • dtb.bin 是 DTB 分区镜像。包含所有编译后的设备树 blob(DTB)。刷写到 dtb_a 分区。
表:内核构建产物

部署内核产物

如果你之前尚未刷写所有启动二进制文件,请先按照 带固件的 BSP 镜像构建中的完整刷写说明操作。 对于后续仅涉及内核的更新,可以增量刷写 efi.bindtb.bin:
内核或 DTS 更改后,必须同时刷写 efi.bindtb.bin,以保持内核和设备树同步。

验证正在运行的内核

设备重启后,确认正在运行的内核版本符合预期,且启动过程没有错误。

连接到设备

使用以下方法之一访问设备上的 shell:
  • 串行控制台(UART),推荐用于早期启动检查。有关设置说明,请参阅连接到你的目标设备
  • ADB shell,在设备完全启动后使用:
  • SSH,使用设备 IP 地址通过网络连接:

检查内核版本

uname -r 的输出应反映你构建并刷写的内核版本(例如 LTS 系列的 6.18.x 字符串)。

检查启动健康状况

检查内核环形缓冲区,查找早期启动中的错误或警告:
在使用 systemd 的系统上,也可以通过以下命令查看当前启动的内核消息:

确认内核模块

验证预期的内核模块已成功加载:
要检查所需模块是否缺失,请在目标设备上运行以下命令,确认该模块已包含在内核配置中,且在配置更改后重新构建了镜像:

故障排除

如果内核版本与构建的版本不符,或设备无法启动:
  • 重新运行 fastboot flash 命令并检查是否有 OKAY 响应,确认刷写过程没有错误。
  • 确认 efi.bindtb.bin 已刷写到正确的分区(分别为 efidtb_a)。
  • 有关启动失败和内核 panic 分析,请参阅 内核问题故障排除
  • 有关串行控制台日志捕获,请参阅 内核日志