本頁介紹如何獲取帶有內核構建工件的引導映像以進行兼容性測試。
獲取啟動映像
在 AOSP 中,您可以從ci.android.com獲取預構建的啟動映像。引導映像包含在aosp_arm64
構建目標中的aosp_arm64-img-*.zip
存檔中,如下所示:
- android11-5.4 來自android11-gsi 分支。
- android12-5.4 來自android12-gsi 分支。
簽名和未簽名的引導映像都具有以下內核壓縮選項:
-
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 內核構建。要獲取構建工件:
找到用於創建 GKI
boot.img
的預構建內核的內部版本號。內部版本號出現在內核版本的末尾,前面有字母ab
。以下示例以粗體顯示內部版本號:[ 0.000000] Linux version 5.4.49-00947-g9d21bcd4897b-ab 6638796
您還可以使用
grep
查找包含未壓縮內核的引導映像來確定內核的內部版本號:grep -a "Linux version " boot-5.4.img
使用以下 URL 中的內部版本號打開內核預構建版本:
https://ci.android.com/builds/submitted/ <number> /kernel_aarch64/latest
例如,使用步驟 1 中的內部版本號,URL 如下:
https://ci.android.com/builds/submitted/ 6638796 /kernel_aarch64/latest
使用未修剪的構建時,將鏈接中的
kernel_debug_aarch64
kernel_aarch64