GKI 1.0:兼容性测试

本页介绍了如何获取具有内核 build 工件的启动映像,以进行兼容性测试。

获取启动映像

在 AOSP 中,您可以从 ci.android.com 获取预构建的启动映像。该启动映像就包含在 aosp_arm64 build 目标的 aosp_arm64-img-*.zip 归档中,如下所示:

无论是已签名的启动映像,还是未签名的启动映像,都会提供以下内核压缩选项:

  • boot-5.4.img:未压缩的内核。
  • boot-5.4-gz:以 gzip 格式压缩的内核。
  • boot-5.4-lz4:以 lz4 格式压缩的内核。

如果是出于开发目的,您可以使用内核预构建文件以及会导出内核中所有符号(这些符号为 untrimmed)的 GKI 启动映像。未经修剪的内核预构建文件是从位于 ci.android.com 的特定内核 build 的 kernel_debug_aarch64 目标中生成的。未经修剪的 GKI 启动映像则是在 userdebug build 中随正常修剪的 GKI 启动映像一起生成的,并且文件名以 -allsyms.img 结尾。

获取内核 build 工件

调试 GKI boot.img 文件内出现的问题时,在该文件中一并包含与对应内核关联的 build 工件会很有帮助。例如,您可以使用未剥离的 vmlinux 进行调试,使用清单在本地重现 GKI 内核 build。如需获取 build 工件,请按以下步骤操作:

  1. 找到用于创建 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
    
  2. 使用以下网址中的 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