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:
- android11-5.4 z gałęzi android11-gsi .
- android12-5.4 z gałęzi android12-gsi .
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:
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 literamiab
. 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
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 nakernel_debug_aarch64
.