Google kommer att gå vidare för att utveckla innovationer för Android i den huvudsakliga Linux-kärnan

På Linux Plumbers 2021-konferensen talade Google om framgången med sitt initiativ att övergå Android-plattformen till att använda en vanlig Linux-kärna istället för att använda sin egen version av kärnan, som inkluderar ändringar som är specifika för Android-plattformen.

Den viktigaste förändringen i utvecklingen var beslutet att efter 2023 byta till modellen "Upstream First", vilket innebär utveckling av alla nya kärnfunktioner som behövs i Android-plattformen direkt i Linux-huvudkärnan och inte i deras egna separata grenar ( funktionalitet kommer först att främjas till den huvudsakliga kärnan, och sedan användas i Android, och inte vice versa). Det är också planerat att överföra alla ytterligare patchar som finns kvar i Android Common Kernel-grenen till huvudkärnan 2023 och 2024.

När det gäller den närmaste framtiden, för Android 12-plattformen som förväntas i början av oktober, kommer "Generic Kernel Image" (GKI) kärnsamlingar att erbjudas, så nära den vanliga 5.10-kärnan som möjligt. För dessa versioner kommer regelbundna utgåvor av uppdateringar att tillhandahållas, som kommer att publiceras i ci.android.com-förrådet. I GKI-kärnan placeras Android-plattformsspecifika tillägg, såväl som hårdvarustödsrelaterade hanterare från OEM:er, i separata kärnmoduler. Dessa moduler är inte bundna till versionen av huvudkärnan och kan utvecklas separat, vilket avsevärt förenklar underhållet och övergången av enheter till nya kärngrenar.

Google kommer att gå vidare för att utveckla innovationer för Android i den huvudsakliga Linux-kärnan

De gränssnitt som krävs av enhetstillverkare implementeras i form av krokar, som låter dig ändra beteendet hos kärnan utan att göra ändringar i koden. Totalt erbjuder android12-5.10-kärnan 194 vanliga krokar, liknande spårpunkter, och 107 specialiserade krokar som låter dig köra hanterare i ett icke-atomärt sammanhang. I GKI-kärnan är hårdvarutillverkare förbjudna att applicera specifika patchar på huvudkärnan, och hårdvarustödkomponenter måste endast tillhandahållas av leverantörer i form av ytterligare kärnmoduler, som måste säkerställa kompatibilitet med huvudkärnan.

Låt oss komma ihåg att Android-plattformen utvecklar sin egen kärngren - Android Common Kernel, på grundval av vilken separata specifika sammansättningar bildas för varje enhet. Varje gren av Android ger tillverkarna flera alternativ för kärnlayout för sina enheter. Till exempel erbjöd Android 11 ett val av tre grundläggande kärnor - 4.14, 4.19 och 5.4, och Android 12 kommer att erbjuda grundläggande kärnor 4.19, 5.4 och 5.10. Alternativ 5.10 är utformat som en generisk kärnbild, där de funktioner som krävs för OEM:er överförs till uppströms, placeras i moduler eller överförs till Android Common Kernel.

Före tillkomsten av GKI gick Android-kärnan igenom flera steg av förberedelser:

  • Baserat på de viktigaste LTS-kärnorna (3.18, 4.4, 4.9, 4.14, 4.19, 5.4) skapades en gren av "Android Common Kernel", till vilken Android-specifika patchar överfördes (tidigare nådde storleken på ändringar flera miljoner rader ).
  • Baserat på "Android Common Kernel" bildade chiptillverkare som Qualcomm, Samsung och MediaTek "SoC Kernel" som inkluderade tillägg för att stödja hårdvaran.
  • Baserat på SoC-kärnan skapade enhetstillverkare Enhetskärnan, som inkluderade ändringar relaterade till stöd för ytterligare utrustning, skärmar, kameror, ljudsystem, etc.

Detta tillvägagångssätt komplicerade avsevärt implementeringen av uppdateringar för att eliminera sårbarheter och övergången till nya kärngrenar. Även om Google regelbundet släpper uppdateringar till sina Android-kärnor (Android Common Kernel) är leverantörer ofta långsamma med att leverera dessa uppdateringar eller använder i allmänhet samma kärna under en enhets hela livscykel.



Källa: opennet.ru

Lägg en kommentar