GKI 1.0: Pengujian kompatibilitas

Halaman ini menjelaskan cara mendapatkan image booting dengan artefak build kernel untuk pengujian kompatibilitas.

Mendapatkan image booting

Di AOSP, Anda bisa mendapatkan image booting bawaan dari ci.android.com. Image booting terdapat dalam arsip aosp_arm64-img-*.zip di target build aosp_arm64, sebagai berikut:

Partner dapat memperoleh image booting yang ditandatangani atau tidak ditandatangani, sebagai berikut:

  • Dapatkan image booting yang tidak ditandatangani berdasarkan android12-5.4 dari cabang aosp-main di ci.android.com (lihat target build aosp_arm64). Image booting ini berisi ramdisk yang dibuat dari cabang main AOSP. Jangan gunakan gambar boot-debug; gambar ini hanya ditujukan untuk perangkat pra-GKI.
  • Dapatkan image booting yang ditandatangani berdasarkan android11-5.4 dari partner.android.com. Image booting ini berisi ramdisk yang dibuat dari cabang r-fs-release. Penandatanganan boot.img mengikuti proses yang sama dengan penandatanganan GSI.

Gambar booting yang ditandatangani dan tidak ditandatangani tersedia dalam opsi kompresi kernel berikut:

  • boot-5.4.img adalah kernel yang tidak dikompresi.
  • boot-5.4-gz adalah kernel yang dikompresi gzip.
  • boot-5.4-lz4 adalah kernel terkompresi lz4.
Untuk pengujian kompatibilitas, gunakan image booting dengan kernel yang hanya mengekspor simbol yang muncul di daftar simbol KMI (simbol adalah trimmed).

Untuk tujuan pengembangan, Anda dapat menggunakan kernel prebuilt dan image booting GKI yang mengekspor semua simbol dalam kernel (simbolnya adalah untrimmed). Kernel prebuilt yang tidak dipangkas dibuat di target kernel_debug_aarch64 untuk build kernel tertentu di ci.android.com. Image booting GKI yang tidak dipangkas dibuat dalam build userdebug bersama dengan image booting GKI yang dipangkas normal dan memiliki nama file yang diakhiri dengan -allsyms.img.

Mendapatkan artefak build kernel

Saat men-debug masalah dalam file boot.img GKI, sebaiknya Anda juga memiliki artefak build yang terkait dengan kernel dalam file tersebut. Misalnya, Anda dapat menggunakan vmlinux yang tidak dihapus untuk proses debug dan manifes untuk mereproduksi build kernel GKI secara lokal. Untuk mendapatkan artefak build:

  1. Temukan nomor build untuk kernel bawaan yang digunakan untuk membuat boot.img GKI. Nomor build muncul di akhir versi kernel, didahului dengan huruf ab. Contoh berikut menunjukkan nomor build dalam cetak tebal:

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

    Anda juga dapat menentukan nomor build kernel menggunakan grep untuk menemukan image booting yang berisi kernel yang tidak dikompresi:

    grep -a "Linux version " boot-5.4.img
  2. Buka build bawaan kernel menggunakan nomor build di URL berikut: https://ci.android.com/builds/submitted/<number>/kernel_aarch64/latest

    Misalnya, menggunakan nomor build dari langkah 1, URL-nya adalah sebagai berikut: https://ci.android.com/builds/submitted/6638796/kernel_aarch64/latest

    Saat menggunakan build yang tidak dipangkas, ganti kernel_aarch64 di link dengan kernel_debug_aarch64.