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.bin 和 dtb.bin:
在内核或 DTS 更改后,efi.bin 和 dtb.bin 必须一起烧写,以保持内核 与设备树同步。

验证正在运行的内核

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

连接到设备

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

检查内核版本

uname -r 的输出应反映您构建并烧写的内核版本(例如,LTS 轨道的 6.18.x 字符串)。

检查启动健康状况

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

确认内核模块

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

故障排除

如果内核版本与构建的版本不匹配,或者设备无法启动:
  • 通过重新运行 fastboot flash 命令并检查 OKAY 响应,确认烧写过程 没有出现错误。
  • 确认 efi.bin 和 dtb.bin 已分别烧写到正确的分区(efi 和 dtb_a)。
  • 有关启动失败和内核 panic 分析,请参阅 排查内核问题。
  • 有关串口控制台日志捕获,请参阅 内核日志。