Jądro Androida jest oparte na Jądro systemu Linux ze wsparciem długoterminowego (LTS). W Google, LTS jądra systemu oraz poprawki specjalne dla Androida w celu utworzenia Powszechne matek z Androida (potwierdzenia potwierdzenia).
Nowsze potwierdzenia (w wersji 5.4 i nowszych) są też nazywane jąderami GKI. Jądro GKI obsługuje oddzielenie niezależnego od sprzętu generowanego jądra od kodu Moduły GKI z interfejsu związane ze sprzętem moduły dostawców.
Jądro GKI współpracuje ze związanymi ze sprzętem modułami dostawcy zawierającymi system z układem SOC i kodem związanym z płytką. Interakcja między jądrem GKI a modułami dostawcy jest jest włączona przez interfejs modułu jądra (KMI), składający się z list symboli identyfikujących funkcji i danych globalnych wymaganych przez moduły dostawców. Rysunek 1 przedstawia jądro i dostawcę GKI. architektura modułu:
Glosariusz jądra
Ta sekcja zawiera terminy używane w całej dokumentacji jądra.
Typy jądra systemu
- Wspólne jądro Androida (ACK)
- Jądro działające w dół jądra systemu LTS i zawierające poprawki przydatne dla Androida społeczności, które nie zostały scalone z jądrami mainline Linuksa ani z jądra długoterminowego wsparcia (LTS). Nowsze potwierdzenia (w wersji 5.4 i nowszych) są również nazywane jądrami GKI, ponieważ obsługują oddzielenie niezależnego od sprzętu ogólnego kodu jądra i niezależnych od sprzętu modułów GKI.
- Jądro projektu Android Open Source Project (AOSP)
- Zapoznaj się z informacjami na temat wspólnego jądra systemu Android.
- Jądro funkcji
- Jądro, w którym zagwarantuje się wdrożenie funkcji wersji platformy. Dla: Na przykład w Androidzie 12 2 jądro funkcji to Android12-5.4 i android12-5.10. Funkcji Androida 12 nie można przenieść do jąder w wersji 4.19. zestaw cech byłby podobny na urządzeniach z Androidem 11 w wersji 4.19 i aktualizowanej do Androida 12.
- ogólne jądro podstawowe
- Część jądra GKI, która jest wspólna dla wszystkich urządzeń.
- Jądro obrazu jądra (GKI)
- Dowolny nowszy (5.4 lub nowszy) jądro ACK (obecnie tylko aarch64). Ten jądro składa się z 2 części: podstawowego jądra GKI z kodem wspólnym dla wszystkich urządzeń i modułów GKI. które mogą być dynamicznie ładowane na urządzeniach tam, gdzie jest to możliwe.
- Jądro jądra modułu jądra (KMI)
- Zobacz jądro GKI.
- Uruchom jądro
- Jądro potrzebne do uruchomienia urządzenia dla danej wersji platformy Androida. Dla: Na przykład w Androidzie 12 prawidłowe jądra uruchomieniowe to 4.19, 5.4 i 5.10.
- Jądro obsługiwane przez długi czas (LTS)
- Jądro systemu Linux, które będzie obsługiwane przez 2–6 lat. LTS jądro są udostępniane raz w roku i stanowią podstawę każdego Potwierdzenia Google.
Typy gałęzi
- Gałąź jądra ACK KMI
- Gałąź, dla której zostały utworzone jądro GKI. Na przykład android12-5.10. oraz Android13-5.15.
- Główna aplikacja na Androida
- Główna gałąź programistyczna funkcji Androida. Gdy nowy kanał LTS jądro jest zadeklarowane w hierarchii powyżej, a odpowiadające mu nowe jądro GKI to niż Android-mainline.
- Główny wiersz systemu Linux
- Główna gałąź programistyczna jąder systemu Linux, w tym jądra LTS.
Inne terminy
- Obraz podczas certyfikowanego rozruchu
- Jądro zostało dostarczone w postaci binarnej (
boot.img
) i zainstalowane na urządzeniu. Ten obraz jest certyfikowany, ponieważ zawiera osadzone certyfikaty, dzięki którym Google może sprawdzić, czy urządzenie jest wysyłane z jądrem certyfikowanym przez Google. - Dynamicznie ładowany moduł jądra (DLKM)
- Moduł, który może być dynamicznie ładowany podczas uruchamiania urządzenia w zależności od potrzeb
urządzenia. Zarówno moduły GKI, jak i moduły dostawcy to typy DLKM. Jednostki DLKM są udostępniane w:
.ko
i mogą być sterownikami lub mogą oferować inne funkcje jądra. - Projekt GKI
- Projekt Google rozwiązujący problem fragmentacji jądra przez rozdzielenie wspólnego jądra z możliwością obsługi układów SOC i z obsługą układów scalonych w moduły z możliwością ładowania.
- Ogólny obraz jądra (GKI)
- Obraz rozruchowy certyfikowany przez Google, który zawiera jądro GKI stworzone na podstawie drzewo źródłowe ACK i można go wyświetlić na partycji rozruchowej na urządzeniu z Androidem.
- KMI
- Interfejs między jądrem GKI a modułami dostawcy, który umożliwia dostawcę które są aktualizowane niezależnie od jądra GKI. Ten interfejs składa się z jądra systemu i danych globalnych, które zostały zidentyfikowane jako zależności dostawcy/OEM przy użyciu symboli poszczególnych partnerów.
- Moduły GKI
- Moduły jądra stworzone przez Google, które w stosownych przypadkach mogą być dynamicznie ładowane na urządzeniach.
Te moduły są tworzone jako artefakty jądra GKI i są dostarczane
wraz z GKI jako archiwum
system_dlkm_staging_archive.tar.gz
. Moduły GKI są podpisane przez Google za pomocą pary kluczy czasu kompilacji jądra i są zgodne tylko z GKI. i jądra systemu. - Moduł dostawcy
- Opracowany przez partnera moduł sprzętowy, który zawiera układ SOC i dostosowany do urządzenia. funkcji. Moduł dostawcy to typ dynamicznie ładowanego przez moduł modułu jądra.
Co dalej?
- Jeśli nie masz doświadczenia w programowaniu jądra Androida, przeczytaj najpierw :
- Długoterminowe ziarna stabilne - Informacje o nadrzędnych jądrach LTS, które przekazują informacje do potwierdzeń.
- Wspólne rdzenie Androida - Informacje o potwierdzeniach.
- Jeśli nie masz doświadczenia w tworzeniu jądra GKI, przeczytaj najpierw Opracowywanie GKI.
- Jeśli używasz jądra w wersji 4.19 lub starszej i szukasz odpowiedniej dokumentacji, zapoznaj się z sekcją Poprzedni jądra (<=4.19).