GKI 1.0:相容性測試

本頁面說明如何取得含有核心建構成果的啟動映像檔,以便進行相容性測試。

取得開機映像檔

在 Android 開放原始碼計畫中,您可以從 ci.android.com 取得預先建構的開機映像檔。開機映像檔包含在 aosp_arm64 建構目標的 aosp_arm64-img-*.zip 封存檔中,如下所示:

合作夥伴可以取得未簽署或已簽署的啟動映像檔,如下所示:

  • ci.android.comaosp-main 分支中,取得以 android12-5.4 為基礎的未簽署開機映像檔 (請查看 aosp_arm64 建構目標)。這些開機映像檔包含從 AOSP main 分支建構的 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 壓縮的核心。
如要進行相容性測試,請使用啟動映像檔,並搭配只匯出 KMI 符號清單中符號的核心 (符號為 trimmed)。

為了開發目的,您可以使用可匯出核心中所有符號 (符號為 untrimmed) 的核心預先建構和 GKI 啟動映像檔。針對 ci.android.com 上的特定核心版本,會在 kernel_debug_aarch64 目標中產生未經裁剪的核心預先建構。在 userdebug 版本中,會與一般經過裁剪的 GKI 啟動映像檔一併產生未經裁剪的 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. 使用下列網址中的版本號碼,開啟內核預先建構版本: https://ci.android.com/builds/submitted/<number>/kernel_aarch64/latest

    舉例來說,如果使用步驟 1 的版本編號,網址如下所示: https://ci.android.com/builds/submitted/6638796/kernel_aarch64/latest

    使用未經裁剪的版本時,請將連結中的 kernel_aarch64 替換為 kernel_debug_aarch64