GKI 1.0: Uyumluluk testi

Bu sayfada, uyumluluk testi için çekirdek derleme yapılarını içeren önyükleme görüntülerinin nasıl elde edileceği açıklanmaktadır.

Önyükleme resimlerini edinme

AOSP'de, önceden oluşturulmuş önyükleme resimlerini ci.android.com adresinden edinebilirsiniz. Önyükleme resimleri, aosp_arm64 derleme hedefindeki aosp_arm64-img-*.zip arşivinde aşağıdaki gibi bulunur:

İş ortakları, aşağıdaki gibi imzalanmamış veya imzalanmış önyükleme resimleri edinebilir:

  • ci.android.com adresindeki aosp-main dalından android12-5.4 tabanlı, imzalanmamış önyükleme resimleri edinin (aosp_arm64 derleme hedefine bakın). Bu önyükleme resimleri, AOSP main dalından oluşturulan bir ramdisk içerir. boot-debug resimlerini kullanmayın. Bu resimler yalnızca GKI öncesi cihazlar içindir.
  • partner.android.com adresinden android11-5.4 tabanlı imzalı önyükleme resimleri edinin. Bu önyükleme resimleri, r-fs-release dalından oluşturulan bir ramdisk içerir. boot.img imzalama işlemi, GSI imzalama işlemiyle aynı süreci izler.

Hem imzalı hem de imzasız önyükleme resimleri aşağıdaki çekirdek sıkıştırma seçeneklerinde sunulur:

  • boot-5.4.img, sıkıştırılmamış bir çekirdektir.
  • boot-5.4-gz, gzip sıkıştırılmış bir çekirdektir.
  • boot-5.4-lz4, lz4 sıkıştırılmış bir çekirdektir.
Uyumluluk testi için yalnızca KMI simge listesinde görünen simgeleri (simgeler trimmed) dışa aktaran çekirdeklerin bulunduğu önyükleme resimlerini kullanın.

Geliştirme amacıyla, çekirdekteki tüm sembolleri dışa aktaran çekirdek hazır derlemeleri ve GKI önyükleme resimlerini kullanabilirsiniz (semboller untrimmed şeklindedir). Kırpılmamış çekirdek hazır derlemeleri, ci.android.com'daki belirli bir çekirdek derlemesi için kernel_debug_aarch64 hedefinde oluşturulur. Kırpılmamış GKI önyükleme resimleri, normal kırpılmış GKI önyükleme resimlerinin yanı sıra userdebug derlemelerinde oluşturulur ve dosya adları -allsyms.img ile biter.

Çekirdek derleme yapılarını edinme

Bir GKI boot.img dosyasında hata ayıklanırken, söz konusu dosyadaki çekirdekle ilişkili derleme yapılarının da bulunması yararlı olur. Örneğin, hata ayıklama için yalıtılmamış vmlinux dosyasını ve GKI çekirdek derlemesini yerel olarak yeniden oluşturmak için manifest dosyasını kullanabilirsiniz. Derleme yapılarını elde etmek için:

  1. GKI boot.img'yi oluşturmak için kullanılan önceden derlenmiş çekirdeğin derleme numarasını bulun. Derleme numarası, çekirdek sürümünün sonunda ab harflerinden önce görünür. Aşağıdaki örnekte derleme numarası kalın olarak gösterilmektedir:

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

    Sıkıştırılmamış bir çekirdek içeren bir önyükleme resmi bulmak için grep'ü kullanarak çekirdeğin derleme numarasını da belirleyebilirsiniz:

    grep -a "Linux version " boot-5.4.img
  2. Aşağıdaki URL'deki yapı numarasını kullanarak çekirdek önceden derlenmiş yapısını açın: https://ci.android.com/builds/submitted/<number>/kernel_aarch64/latest

    Örneğin, 1. adımdaki derleme numarasını kullanarak URL şu şekilde olur: https://ci.android.com/builds/submitted/6638796/kernel_aarch64/latest

    Kırpılmamış bir derleme kullanırken bağlantıdaki kernel_aarch64 değerini kernel_debug_aarch64 ile değiştirin.