Google zal zich nu concentreren op Android-ontwikkeling bovenop de belangrijkste Linux-kernel

Tijdens de laatste Linux Plumbers 2021-conferentie, Google onthulde het succes van het initiatief om het Android-platform te verplaatsen naar een normale Linux-kernel in plaats van zijn eigen versie van de kernel te gebruiken, die specifieke wijzigingen voor het Android-platform bevat.

Google vermeldt dat de genoemde ontwikkelingsverandering is vanwege het besluit om na 2023 over te stappen op het "Upstream First"-model, wat inhoudt dat alle nieuwe kernelfuncties die nodig zijn op het Android-platform rechtstreeks in de Linux-hoofdkernel worden ontwikkeld en niet in zijn afzonderlijke takken (de functionaliteit wordt eerst naar de hoofdkernel gepromoveerd en vervolgens in Android gebruikt, en niet andersom).

Voor 2023 en 2024 is het ook de bedoeling om alle extra patches die overblijven in de Android Common Kernel-tak over te brengen naar de hoofdkernel.

In de nabije toekomst, voor het Android 12-platform dat gepland staat voor begin oktober, zullen builds van de "Generic Kernel Image" (GKI)-kernel worden aangeboden, zo dicht mogelijk bij de gemeenschappelijke 5.10-kernel.

Voor deze builds zal een regelmatige release van updates worden verstrekt, die in de repository ci.android.com zal worden geplaatst. In de GKI-kernel worden Android-specifieke toevoegingen, evenals OEM-hardwaregerelateerde stuurprogramma's, verplaatst naar afzonderlijke kernelmodules.

Deze modules zijn niet gebonden aan de hoofdversie van de kernel en kunnen afzonderlijk worden ontwikkeld, wat het onderhoud en de overdracht van apparaten naar nieuwe kerneltakken aanzienlijk vereenvoudigt.

De interfaces die door fabrikanten van apparaten worden vereist, zijn geïmplementeerd in de vorm van hooks waarmee je het gedrag van de kernel kunt veranderen zonder wijzigingen in de code aan te brengen.

In totaal biedt de Android12-5.10-kernel 194 gemeenschappelijke hooks, vergelijkbaar met traceerpunten, en 107 gespecialiseerde hooks waarmee je controllers in een niet-atomaire context kunt uitvoeren. In de GKI-kernel is het hardwarefabrikanten verboden om specifieke patches op de hoofdkernel toe te passen, en leveranciers mogen de componenten voor de ondersteunende hardware alleen leveren in de vorm van extra kernelmodules, waarbij compatibiliteit met de hoofdkernel moet worden gegarandeerd. .

Dat moeten we onthouden het platform Android ontwikkelt zijn eigen tak van de kernel: de "Android Common Kernel", op basis waarvan afzonderlijke specifieke builds voor elk apparaat worden gevormd.

Waarmee fabrikanten vanuit elke tak van Android meerdere kernelontwerpen voor hun apparaten krijgen. Zo bood Android 11 keuze uit drie basiskernen tegelijk: 4.14, 4.19 en 5.4, en voor Android 12 zullen de basiskernen 4.19, 5.4 en 5.10 worden aangeboden. De 5.10-variant is ontworpen als een generieke kernelafbeelding, waarin de mogelijkheden die OEM's nodig hebben stroomopwaarts worden overgedragen, naar modules worden verplaatst of worden overgedragen naar de gewone Android-kernel.

Voor de komst van GKI, De Android-kernel heeft verschillende voorbereidingsstadia doorlopen:

  • De eerste was gebaseerd op de belangrijkste LTS-kernels (3.18, 4.4, 4.9, 4.14, 4.19, 5.4) en waarvan een fork van de "Android Common Kernel" werd gemaakt, waarnaar specifieke patches voor Android werden overgebracht (voorheen was de de omvang van de wijzigingen werd bereikt enkele miljoenen regels).
  • Daarna vormen op "Android Common Kernel" chipmakers als Qualcomm, Samsung en MediaTek de SoC Kernel, die plug-ins bevat om hardware te ondersteunen.
  • Ten slotte creëren apparaatfabrikanten in de "SoC-kernel" de "Apparaat-kernel", inclusief wijzigingen met betrekking tot compatibiliteit met extra apparatuur, beeldschermen, camera's, geluidssystemen, enzovoort.

Deze aanpak bemoeilijkte de levering van updates aanzienlijk met het elimineren van kwetsbaarheden en de overgang naar nieuwe takken van de kernel. Hoewel Google regelmatig updates uitbrengt voor zijn gewone Android-kernel, nemen leveranciers vaak de tijd om deze updates uit te brengen of gebruiken ze een enkele kernel voor de hele levenscyclus van het apparaat.

Eindelijk als u er meer over wilt weten, kunt u de details bekijken In de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.