Omówienie jądra systemu

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:

Architektura GKI
Rysunek 1. architektura GKI

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 :
  • 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).