Google vil gå videre med at udvikle innovationer til Android i den primære Linux-kerne

På Linux Plumbers 2021-konferencen talte Google om succesen med sit initiativ til at omstille Android-platformen til at bruge en almindelig Linux-kerne i stedet for at bruge sin egen version af kernen, som inkluderer ændringer, der er specifikke for Android-platformen.

Den vigtigste ændring i udviklingen var beslutningen om at skifte efter 2023 til "Upstream First"-modellen, som indebærer udvikling af alle nye kernefunktioner, der er nødvendige i Android-platformen direkte i Linux-hovedkernen og ikke i deres egne separate grene ( funktionalitet vil først blive forfremmet til den primære kerne), og derefter brugt i Android og ikke omvendt). Det er også planlagt at overføre alle yderligere patches, der er tilbage i Android Common Kernel-grenen, til hovedkernen i 2023 og 2024.

Hvad angår den nærmeste fremtid, for Android 12-platformen, der forventes i begyndelsen af ​​oktober, vil "Generic Kernel Image" (GKI)-kernesamlinger blive tilbudt, så tæt som muligt på den almindelige 5.10-kerne. Til disse builds vil der blive leveret regelmæssige udgivelser af opdateringer, som vil blive offentliggjort i ci.android.com-lageret. I GKI-kernen er Android-platformspecifikke tilføjelser samt hardwaresupport-relaterede handlere fra OEM'er placeret i separate kernemoduler. Disse moduler er ikke bundet til versionen af ​​hovedkernen og kan udvikles separat, hvilket i høj grad forenkler vedligeholdelsen og overgangen af ​​enheder til nye kernegrene.

Google vil gå videre med at udvikle innovationer til Android i den primære Linux-kerne

De grænseflader, der kræves af enhedsproducenter, er implementeret i form af hooks, som giver dig mulighed for at ændre kernens adfærd uden at foretage ændringer i koden. I alt tilbyder android12-5.10 kernen 194 almindelige hooks, der ligner sporpunkter, og 107 specialiserede hooks, der giver dig mulighed for at køre handlere i en ikke-atomisk sammenhæng. I GKI-kernen er hardwareproducenter forbudt at anvende specifikke patches til hovedkernen, og hardwaresupportkomponenter må kun leveres af leverandører i form af yderligere kernemoduler, som skal sikre kompatibilitet med hovedkernen.

Lad os huske på, at Android-platformen udvikler sin egen kernegren - Android Common Kernel, på grundlag af hvilken separate specifikke samlinger dannes for hver enhed. Hver gren af ​​Android giver producenterne flere muligheder for kernelayout til deres enheder. For eksempel tilbød Android 11 et valg mellem tre grundlæggende kerner - 4.14, 4.19 og 5.4, og Android 12 vil tilbyde grundlæggende kerner 4.19, 5.4 og 5.10. Mulighed 5.10 er designet som et generisk kernebillede, hvor de nødvendige muligheder for OEM'er overføres til upstream, placeres i moduler eller overføres til Android Common Kernel.

Før fremkomsten af ​​GKI gennemgik Android-kernen flere forberedelsestrin:

  • Baseret på de vigtigste LTS-kerner (3.18, 4.4, 4.9, 4.14, 4.19, 5.4) blev der oprettet en gren af ​​"Android Common Kernel", hvor Android-specifikke patches blev overført (tidligere nåede størrelsen af ​​ændringer flere millioner linjer ).
  • Baseret på "Android Common Kernel" dannede chipproducenter som Qualcomm, Samsung og MediaTek "SoC Kernel", der inkluderede tilføjelser til at understøtte hardwaren.
  • Baseret på SoC Kernelen skabte enhedsproducenterne Enhedskernen, som omfattede ændringer relateret til understøttelse af ekstra udstyr, skærme, kameraer, lydsystemer osv.

Denne tilgang komplicerede betydeligt implementeringen af ​​opdateringer for at eliminere sårbarheder og overgangen til nye kernegrene. Selvom Google regelmæssigt udgiver opdateringer til sine Android-kerner (Android Common Kernel), er leverandører ofte langsomme til at levere disse opdateringer eller bruger generelt den samme kerne gennem hele enhedens livscyklus.



Kilde: opennet.ru

Tilføj en kommentar