Kernel-Übersicht

Der Android-Kernel basiert auf einem Upstream, Linux Long Term Supported (LTS)-Kernel Bei Google: Langzeitsupport werden mit Android-spezifischen Patches zu einer sogenannten Common Kernel (ACKs) von Android.

Neuere ACKs (Version 5.4 und höher) werden auch als GKI-Kernel bezeichnet. GKI-Kernels unterstützen die Trennung des hardwareunabhängigen generischen Kern-Kernel-Codes und GKI-Module aus dem hardwarespezifisch Anbietermodule.

Der GKI-Kernel interagiert mit hardwarespezifischen Anbietermodule, die das System auf einen Chip (SoC) und einen boardspezifischen Code. Die Interaktion zwischen dem GKI-Kernel und den Anbietermodulen ist durch das Kernel Module Interface (KMI) aktiviert wurde, bestehend aus Symbollisten, die den Funktionen und globalen Daten, die von Anbietermodulen benötigt werden. Abbildung 1 zeigt den GKI-Kernel und -Anbieter. Modularchitektur:

GKI-Architektur
Abbildung 1: GKI-Architektur
<ph type="x-smartling-placeholder">

Kernel-Glossar

Dieser Abschnitt enthält Begriffe, die in der Kernel-Dokumentation verwendet werden.

Kerneltypen

Android Common Kernel (ACK)
Ein Kernel, der einem LTS-Kernel nachgeschaltet ist und für Android relevante Patches enthält Community, die noch nicht mit Linux Mainline-Kernel oder LTS-Kerneln zusammengeführt wurden. Neuere ACKs (Version 5.4 und höher) werden auch als GKI-Kernel bezeichnet, da sie die Trennung des hardware-unabhängigen generischen Kernel-Codes und hardware-unabhängigen GKI-Modulen.
Android Open Source Project (AOSP)-Kernel
Weitere Informationen finden Sie unter Android Common Kernel.
Feature-Kernel
Ein Kernel, für den die Plattform-Releasefunktionen garantiert implementiert werden. Für In Android 12 waren die beiden Feature-Kernels android12-5.4 und android12-5.10. Android 12-Funktionen können nicht zu 4.19-Kernels zurückportiert werden. wären die Funktionen ähnlich, auf einem Gerät, das mit Android 11 mit Version 4.19 auf den Markt gebracht und auf Android 12 aktualisiert wurde.
generischer Core Kernel
Der Teil des GKI-Kernels, der auf allen Geräten gemeinsam ist.
Generischer Kernel Image-Kernel (GKI)
Alle neueren ACK-Kernel (5.4 und höher) (derzeit nur aarch64) Dieses Der Kernel besteht aus zwei Teilen: dem zentralen GKI-Kernel mit gemeinsamem Code für alle Geräte und GKI-Modulen. die von Google entwickelt wurden und gegebenenfalls dynamisch auf Geräte geladen werden können.
KMI-Kernel (Kernel Module Interface)
Weitere Informationen finden Sie unter GKI-Kernel.
Kernel starten
Ein Kernel, der zum Starten eines Geräts für einen bestimmten Android-Plattformrelease gültig ist. Für In Android 12 waren die gültigen Start-Kernels 4.19, 5.4 und 5.10.
LTS-Kernel (Long Term Supported)
Ein Linux-Kernel, der 2 bis 6 Jahre lang unterstützt wird. Langzeitsupport Kernel werden einmal pro Jahr veröffentlicht und bilden die Grundlage für Bestätigungen von Google.

Zweigtypen

ACK KMI-Kernel-Branch
Der Zweig, für den GKI-Kernel erstellt werden. Beispiel: android12-5.10 und android13-5.15.
Android-Hauptversion
Der primäre Entwicklungszweig für Android-Funktionen. Wenn eine neue LTS Kernel vorgelagert ist, ist der entsprechende neue GKI-Kernel von Android-Mainline.
Linux Mainline
Der primäre Entwicklungszweig für die Upstream-Linux-Kernel, einschließlich LTS-Kernels.

Sonstige Begriffe

Zertifiziertes Boot-Image
Der Kernel wird in Binärform (boot.img) bereitgestellt und auf das Gerät geflasht. Dieses Bild ist insofern zertifiziert, als es eingebettete Zertifikate enthält, damit Google Prüfen, ob das Gerät mit einem von Google zertifizierten Kernel ausgeliefert wird
Dynamicly Loadable Kernel Module (DLKM)
Ein Modul, das während des Gerätestarts je nach den Anforderungen des . GKI und Anbietermodule sind beides Arten von DLKMs. DLKMs werden in .ko veröffentlicht und können Treiber sein oder andere Kernel-Funktionen liefern.
GKI-Projekt
Ein Google-Projekt, das die Kernel-Fragmentierung durch Trennung des gemeinsamen Kern-Kernels behebt von anbieterspezifischen SoC- und Board-Unterstützungen in ladbare Module.
Generisches Kernel-Image (GKI)
Ein von Google zertifiziertes Boot-Image, das einen GKI-Kernel enthält, der aus eine ACK-Quellstruktur. Sie kann in die Bootpartition von auf einem Android-Gerät.
KMI
Eine Schnittstelle zwischen dem GKI-Kernel und Anbietermodulen, die es dem Anbieter ermöglicht, Module, die unabhängig vom GKI-Kernel aktualisiert werden sollen. Diese Schnittstelle besteht aus einem Kernel Funktionen und globale Daten, die mithilfe von Symbollisten pro Partner.
GKI-Module
Von Google erstellte Kernelmodule, die gegebenenfalls dynamisch auf Geräte geladen werden können. Diese Module werden als Artefakte des GKI-Kernels erstellt und bereitgestellt zusammen mit GKI als system_dlkm_staging_archive.tar.gz-Archiv. GKI-Module werden von Google mit dem Kernel-Build-Zeitschlüssel signiert und sind nur mit der GKI kompatibel. Kernel, mit dem sie erstellt wurden.
Modul „Anbieter“
Ein von einem Partner entwickeltes hardwarespezifisches Modul, das SoC- und gerätespezifische Funktionalität. Ein Anbietermodul ist eine Art von dynamisch ladbarem Kernelmodul.

Wie geht es weiter?