GKI 1.0: Testowanie zgodności

Na tej stronie opisano, jak uzyskać obrazy rozruchowe z artefaktami kompilacji jądra w celu przetestowania zgodności.

Uzyskaj obrazy rozruchowe

W AOSP możesz uzyskać gotowe obrazy rozruchowe z ci.android.com . Obrazy rozruchowe znajdują się w archiwum aosp_arm64-img-*.zip w celu kompilacji aosp_arm64 w następujący sposób:

Zarówno podpisane, jak i niepodpisane obrazy rozruchowe są dostępne w następujących opcjach kompresji jądra:

  • boot-5.4.img to nieskompresowane jądro.
  • boot-5.4-gz to jądro skompresowane gzipem.
  • boot-5.4-lz4 to jądro skompresowane lz4.

Do celów programistycznych można używać gotowych jąder i obrazów startowych GKI, które eksportują wszystkie symbole w jądrze (symbole są untrimmed ). Nieprzycięte wstępnie kompilacje jądra są generowane w celu kernel_debug_aarch64 dla konkretnej kompilacji jądra na ci.android.com . Nieprzycięte obrazy startowe GKI są generowane w kompilacjach userdebug wraz ze zwykłymi, przyciętymi obrazami startowymi GKI i mają nazwy plików kończące się na -allsyms.img .

Uzyskaj artefakty kompilacji jądra

Podczas debugowania problemów w pliku boot.img GKI przydatne jest umieszczenie w tym pliku także artefaktów kompilacji powiązanych z jądrem. Na przykład możesz użyć nieobrobionego vmlinux do debugowania i manifestu do lokalnego odtwarzania kompilacji jądra GKI. Aby uzyskać artefakty kompilacji:

  1. Znajdź numer kompilacji wstępnie zbudowanego jądra, który został użyty do utworzenia pliku boot.img GKI. Numer kompilacji pojawia się na końcu wersji jądra, poprzedzony literami ab . Poniższy przykład pokazuje pogrubiony numer kompilacji:

    [ 0.000000] Linux version 5.4.49-00947-g9d21bcd4897b-ab 6638796

    Możesz także określić numer kompilacji jądra, używając grep do znalezienia obrazu rozruchowego zawierającego nieskompresowane jądro:

    grep -a "Linux version " boot-5.4.img
    
  2. Otwórz wstępnie skompilowaną kompilację jądra, używając numeru kompilacji pod następującym adresem URL: https://ci.android.com/builds/submitted/ <number> /kernel_aarch64/latest

    Na przykład, używając numeru kompilacji z kroku 1, adres URL będzie następujący: https://ci.android.com/builds/submitted/ 6638796 /kernel_aarch64/latest

    Używając nieprzyciętej kompilacji, zamień kernel_aarch64 w łączu na kernel_debug_aarch64 .