Google wird die Entwicklung von Innovationen fĂŒr Android im Hauptkern von Linux vorantreiben

Auf der vergangenen Konferenz Linux Plumbers 2021 sprach Google ĂŒber die Erfolge der Initiative zur Umstellung der Android-Plattform auf einen regulĂ€ren Linux-Kernel anstelle seiner eigenen Kernel-Variante, die plattformspezifische Änderungen beinhaltete.

Die bedeutendste Änderung in der Entwicklung war die Entscheidung, nach 2023 auf das Modell „Upstream First“ umzusteigen, das vorsieht, dass alle neuen Möglichkeiten des Kernels, die fĂŒr die Android-Plattform erforderlich sind, direkt im Hauptkern von Linux entwickelt werden und nicht in eigenen Zweigen (Funktionen werden zunĂ€chst im Hauptkern vorangetrieben und anschließend in Android verwendet, und nicht umgekehrt). FĂŒr 2023 und 2024 ist außerdem die Übertragung aller zusĂ€tzlichen Patches, die im Android Common Kernel verbleiben, in den Hauptkernel geplant.

Was die nĂ€chsten Entwicklungen betrifft, so werden fĂŒr die im frĂŒhen Oktober erwartete Plattform Android 12 Kernel-Bauten des „Generic Kernel Image“ (GKI) angeboten, die so nah wie möglich am regulĂ€ren Kernel 5.10 sind. FĂŒr diese Builds wird es regelmĂ€ĂŸige Aktualisierungen geben, die im Repository ci.android.com bereitgestellt werden. Im GKI-Kernel sind plattformspezifische ErgĂ€nzungen fĂŒr Android sowie Hardware-Support-Handler von OEM-Herstellern in separate Kernel-Module ausgelagert. Diese Module sind nicht an die Version des Hauptkerns gebunden und können unabhĂ€ngig weiterentwickelt werden, was die Wartung und den Übergang der GerĂ€te auf neue Kernel-Zweige erheblich vereinfacht.

Google wird die Entwicklung von Innovationen fĂŒr Android im Hauptkern von Linux vorantreiben

Die fĂŒr GerĂ€tehersteller erforderlichen Schnittstellen werden in Form von Hooks implementiert, die es ermöglichen, das Verhalten des Kernels zu Ă€ndern, ohne Änderungen am Code vorzunehmen. Insgesamt bietet der Kernel android12-5.10 194 regulĂ€re Hooks, die den Tracepoints Ă€hnlich sind, und 107 spezialisierte Hooks, die die AusfĂŒhrung von Handlern im nicht-atomaren Kontext ermöglichen. Im GKI-Kernel ist es Hardware-Herstellern untersagt, plattformspezifische Patches auf den Hauptkernel anzuwenden, und Komponenten zur UnterstĂŒtzung von Hardware mĂŒssen von den Anbietern ausschließlich in Form von zusĂ€tzlichen Kernel-Modulen bereitgestellt werden, die unbedingt mit dem Hauptkernel kompatibel sein mĂŒssen.

Wir erinnern daran, dass in der Android-Plattform ein eigener Kernel-Zweig - Android Common Kernel - entwickelt wird, auf dessen Basis fĂŒr jedes GerĂ€t spezifische Builds erstellt werden. In jedem Android-Zweig stehen den Herstellern mehrere Varianten von Kernkonfigurationen fĂŒr ihre GerĂ€te zur VerfĂŒgung. Beispielsweise wurden in Android 11 insgesamt drei Basis-Kernel - 4.14, 4.19 und 5.4 - zur Auswahl angeboten, wĂ€hrend fĂŒr Android 12 die Basis-Kernel 4.19, 5.4 und 5.10 bereitgestellt werden. Die Variante 5.10 ist als Generic Kernel Image gestaltet, wobei die fĂŒr OEM-Hersteller erforderlichen Funktionen in das Upstream ĂŒberfĂŒhrt, in Module ausgelagert oder in den Android Common Kernel integriert wurden.

Vor der EinfĂŒhrung von GKI durchlief der Kernel fĂŒr Android mehrere Vorbereitungsphasen:

  • Auf Basis der Haupt-LTS-Kernel (3.18, 4.4, 4.9, 4.14, 4.19, 5.4) wurde ein Fork namens 'Android Common Kernel' erstellt, in den Android-spezifische Patches integriert wurden (die zuvor mehrere Millionen Zeilen Änderungen umfassten).
  • Auf Basis des 'Android Common Kernel' formten Chip-Hersteller wie Qualcomm, Samsung und MediaTek den 'SoC Kernel', der ErgĂ€nzungen zur UnterstĂŒtzung von Hardware enthielt.
  • Auf Basis des 'SoC Kernel' erstellten GerĂ€tehersteller den 'Device Kernel', der Änderungen zur UnterstĂŒtzung zusĂ€tzlicher Hardware, Bildschirme, Kameras, Soundsysteme usw. beinhaltet.

Ein solcher Ansatz erschwerte wesentlich die Bereitstellung von Sicherheitsupdates und den Wechsel auf neue Kernel-Zweige. Trotz der Tatsache, dass Google regelmĂ€ĂŸig Updates seiner Android-Kernel (Android Common Kernel) herausbringt, zögern Anbieter oft, diese Updates bereitzustellen, oder nutzen im gesamten Lebenszyklus des GerĂ€ts ein einziges Kernel.

Video abspielen


Quelle: opennet.ru
60GB SSD 8Gb DDR4