GKI 1.0:兼容性测试

本页面介绍了如何获取包含内核构建工件的启动镜像以进行兼容性测试。

获取启动镜像

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

签名和未签名的启动镜像均提供以下内核压缩选项

  • boot-5.4.img 是一个未压缩的内核。
  • boot-5.4-gz 是一个 gzip 压缩内核。
  • boot-5.4-lz4 是一个 lz4 压缩内核。

出于开发目的,您可以使用内核预构建和 GKI 启动镜像,这些镜像导出内核中的所有符号(符号为 untrimmed)。未裁剪的内核预构建在 ci.android.com 上特定内核构建的 kernel_debug_aarch64 目标中生成。未裁剪的 GKI 启动镜像在 userdebug 版本中与正常的裁剪 GKI 启动镜像一起生成,并且文件名以 -allsyms.img 结尾。

获取内核构建工件

在调试 GKI boot.img 文件中的问题时,拥有与该文件中内核相关的构建产物也很有用。例如,您可以使用未剥离的 vmlinux 进行调试,并使用清单在本地重现 GKI 内核构建。要获取构建产物

  1. 找到用于创建 GKI boot.img 的内核预构建版本的构建编号。构建编号出现在内核版本的末尾,前面带有字母 ab。以下示例以粗体显示构建编号

    [ 0.000000] Linux version 5.4.49-00947-g9d21bcd4897b-ab6638796

    您还可以通过使用 grep 查找包含未压缩内核的启动镜像来确定内核的构建编号

    grep -a "Linux version " boot-5.4.img
  2. 通过使用以下 URL 中的构建编号打开内核预构建版本: https://ci.android.com/builds/submitted/<number>/kernel_aarch64/latest

    例如,使用步骤 1 中的构建编号,URL 如下所示: https://ci.android.com/builds/submitted/6638796/kernel_aarch64/latest

    当使用未裁剪的构建时,将链接中的 kernel_aarch64 替换为 kernel_debug_aarch64