本页介绍了如何获取具有内核 build 工件的启动映像,以进行兼容性测试。
获取启动映像
在 AOSP 中,您可以从 ci.android.com 获取预构建的启动映像。该启动映像就包含在 aosp_arm64
build 目标的 aosp_arm64-img-*.zip
归档中,如下所示:
android11-gsi
分支中的android11-5.4
。android12-gsi
分支中的android12-5.4
。
- 从 ci.android.com 的
aosp-main
分支获取基于android12-5.4
的未签名启动映像(位于aosp_arm64
build 目标中)。这类启动映像包含一个从 AOSPmain
分支构建的 ramdisk。请勿使用boot-debug
映像;因为它们仅适用于 GKI 之前的设备。 - 从 partner.android.com 获取基于
android11-5.4
的已签名启动映像。这类启动映像包含一个从r-fs-release
分支构建的 ramdisk。boot.img
签名遵循与 GSI 签名相同的流程。
无论是已签名的启动映像,还是未签名的启动映像,都会提供以下内核压缩选项:
boot-5.4.img
:未压缩的内核。boot-5.4-gz
:以 gzip 格式压缩的内核。boot-5.4-lz4
:以 lz4 格式压缩的内核。
trimmed
)。
如果是出于开发目的,您可以使用内核预构建文件以及会导出内核中所有符号(这些符号为 untrimmed
)的 GKI 启动映像。未经修剪的内核预构建文件是从位于 ci.android.com 的特定内核 build 的 kernel_debug_aarch64
目标中生成的。未经修剪的 GKI 启动映像则是在 userdebug build 中随正常修剪的 GKI 启动映像一起生成的,并且文件名以 -allsyms.img
结尾。
获取内核 build 工件
调试 GKI boot.img
文件内出现的问题时,在该文件中一并包含与对应内核关联的 build 工件会很有帮助。例如,您可以使用未剥离的 vmlinux
进行调试,使用清单在本地重现 GKI 内核 build。如需获取 build 工件,请按以下步骤操作:
找到用于创建 GKI
boot.img
的内核预构建文件的 build 号。该 build 号就位于内核版本末尾,以字母ab
开头。在下面的示例中,以粗体显示的内容即为 build 号:[ 0.000000] Linux version 5.4.49-00947-g9d21bcd4897b-ab6638796
您还可以使用
grep
查找包含未压缩内核的启动映像,从而确定内核的 build 号:grep -a "Linux version " boot-5.4.img
使用以下网址中的 build 号打开内核预构建 build:
https://ci.android.com/builds/submitted/<number>/kernel_aarch64/latest
例如,如果使用第 1 步中的 build 号,该网址如下所示:
https://ci.android.com/builds/submitted/6638796/kernel_aarch64/latest
如果使用的是未经修剪的 build,请将链接中的
kernel_aarch64
替换为kernel_debug_aarch64
。