GKI 1.0: testowanie zgodności

Na tej stronie opisujemy, jak pobrać obrazy startowe z artefaktami kompilacji jądra do testów zgodności.

Pobieranie obrazów rozruchowych

W AOSP możesz pobrać wstępnie utworzone obrazy rozruchowe ze strony ci.android.com. Obrazy rozruchowe znajdują się w archiwum aosp_arm64-img-*.zip w docelowym pakiecie kompilacji aosp_arm64 w następujący sposób:

Partnerzy mogą pobrać podpisane lub niepodpisane obrazy startowe w następujący sposób:

  • Pobierz niepodpisane obrazy rozruchowe na podstawie android12-5.4 z gałęzi aosp-main na ci.android.com (sprawdź element docelowy kompilacji aosp_arm64). Te obrazy rozruchu zawierają dysk ramowy utworzony na podstawie gałęzi AOSP main. Nie używaj obrazów boot-debug, ponieważ są one przeznaczone tylko do urządzeń z GKI.
  • Pobierz podpisane obrazy rozruchu na podstawie wersji android11-5.4partner.android.com. Te obrazy rozruchu zawierają dysk ramowy utworzony z gałęzi r-fs-release. boot.imgPodpisywanie odbywa się według tego samego procesu co podpisywanie GSI.

Zarówno podpisane, jak i niepodpisane obrazy rozruchu są dostępne z tymi opcjami kompresji jądra:

  • boot-5.4.img to nieskompresowane jądro.
  • boot-5.4-gz to jądro skompresowane za pomocą gzip.
  • boot-5.4-lz4 to jądro skompresowane algorytmem lz4.
Podczas testowania zgodności użyj obrazów rozruchu z jądrami, które eksportują tylko symbole widoczne na liście symboli KMI (symbole te to trimmed).

Do celów programistycznych możesz używać wstępnie utworzonych obrazów jądra i obrazów startowych GKI, które eksportują wszystkie symbole w jądrze (symbole te to untrimmed). Nieprzycięte wstępnie utworzone obrazy jądra są generowane w celu kernel_debug_aarch64 dla konkretnej kompilacji jądra na stronie ci.android.com. Nieprzycięte obrazy startowe GKI są generowane w kompilacji userdebug obok zwykłych przyciętych obrazów startowych GKI i mają rozszerzenie -allsyms.img.

Pobieranie artefaktów kompilacji jądra

Podczas debugowania problemów w pliku GKI boot.img przydatne jest też posiadanie artefaktów kompilacji powiązanych z jądrem w tym pliku. Możesz na przykład użyć nieobciętego pliku vmlinux do debugowania, a pliku manifestu do odtworzenia kompilacji jądra GKI lokalnie. Aby uzyskać artefakty kompilacji:

  1. Znajdź numer kompilacji wstępnie skompilowanego jądra, którego użyto do utworzenia GKI boot.img. Numer kompilacji jest widoczny na końcu wersji jądra, poprzedzony literami ab. W tym przykładzie numer kompilacji jest wyróżniony pogrubioną czcionką:

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

    Możesz też określić numer kompilacji jądra, używając grep, aby znaleźć obraz rozruchowy zawierający skompresowane jądro:

    grep -a "Linux version " boot-5.4.img
  2. Otwórz gotową kompilację jądra, używając numeru kompilacji w tym adresie URL: https://ci.android.com/builds/submitted/<number>/kernel_aarch64/latest

    Na przykład, jeśli używasz numeru kompilacji z kroku 1, adres URL będzie wyglądał tak:https://ci.android.com/builds/submitted/6638796/kernel_aarch64/latest

    Jeśli używasz wersji nieprzyciętej, w linku zastąp kernel_aarch64 wartością kernel_debug_aarch64.