Google vil gå videre med å utvikle innovasjoner for Android i hoved Linux-kjernen

På Linux Plumbers 2021-konferansen snakket Google om suksessen til initiativet sitt for å overføre Android-plattformen til å bruke en vanlig Linux-kjerne i stedet for å bruke sin egen versjon av kjernen, som inkluderer endringer som er spesifikke for Android-plattformen.

Den viktigste endringen i utviklingen var beslutningen om å bytte etter 2023 til "Upstream First"-modellen, som innebærer utvikling av alle nye kjernefunksjoner som trengs i Android-plattformen direkte i hoved Linux-kjernen, og ikke i deres egne separate grener ( funksjonalitet vil først bli forfremmet til den viktigste kjernen, og deretter brukt i Android, og ikke omvendt). Overføringen av alle ekstra patcher som er igjen i Android Common Kernel-grenen til hovedkjernen er også planlagt for 2023 og 2024.

Når det gjelder den nærmeste fremtiden, for Android 12-plattformen som forventes i begynnelsen av oktober, vil "Generic Kernel Image" (GKI) kjernesamlinger tilbys, så nær den vanlige 5.10-kjernen som mulig. For disse byggene vil det bli gitt regelmessige utgivelser av oppdateringer, som vil bli lagt ut i ci.android.com-depotet. I GKI-kjernen er Android-plattformspesifikke tillegg, samt maskinvarestøtterelaterte behandlere fra OEM-er, plassert i separate kjernemoduler. Disse modulene er ikke knyttet til versjonen av hovedkjernen og kan utvikles separat, noe som i stor grad forenkler vedlikehold og overgang av enheter til nye kjernegrener.

Google vil gå videre med å utvikle innovasjoner for Android i hoved Linux-kjernen

Grensesnittene som kreves av enhetsprodusenter er implementert i form av kroker, som lar deg endre oppførselen til kjernen uten å gjøre endringer i koden. Totalt tilbyr android12-5.10-kjernen 194 vanlige kroker, som ligner på sporpunkter, og 107 spesialiserte kroker som lar deg kjøre behandlere i en ikke-atomisk sammenheng. I GKI-kjernen er maskinvareprodusenter forbudt å bruke spesifikke oppdateringer til hovedkjernen, og maskinvarestøttekomponenter må kun leveres av leverandører i form av ekstra kjernemoduler, som må sikre kompatibilitet med hovedkjernen.

La oss huske at Android-plattformen utvikler sin egen kjernegren - Android Common Kernel, på grunnlag av hvilke separate spesifikke sammenstillinger dannes for hver enhet. Hver gren av Android gir produsentene flere alternativer for kjernelayout for enhetene deres. For eksempel tilbød Android 11 et utvalg av tre grunnleggende kjerner - 4.14, 4.19 og 5.4, og Android 12 vil tilby grunnleggende kjerner 4.19, 5.4 og 5.10. Alternativ 5.10 er utformet som et generisk kjernebilde, der egenskapene som er nødvendige for OEM-er overføres til oppstrøms, plasseres i moduler eller overføres til Android Common Kernel.

Før GKI kom, gikk Android-kjernen gjennom flere forberedelsesstadier:

  • Basert på de viktigste LTS-kjernene (3.18, 4.4, 4.9, 4.14, 4.19, 5.4) ble det opprettet en gren av "Android Common Kernel" som Android-spesifikke patcher ble overført til (tidligere nådde størrelsen på endringer flere millioner linjer) ).
  • Basert på "Android Common Kernel" dannet brikkeprodusenter som Qualcomm, Samsung og MediaTek "SoC Kernel" som inkluderte tillegg for å støtte maskinvaren.
  • Basert på SoC-kjernen skapte enhetsprodusenter Device Kernel, som inkluderte endringer knyttet til støtte for tilleggsutstyr, skjermer, kameraer, lydsystemer, etc.

Denne tilnærmingen kompliserte implementeringen av oppdateringer betydelig for å eliminere sårbarheter og overgangen til nye kjernegrener. Selv om Google regelmessig gir ut oppdateringer til sine Android-kjerner (Android Common Kernel), er leverandører ofte trege med å levere disse oppdateringene eller bruker generelt den samme kjernen gjennom hele livssyklusen til en enhet.



Kilde: opennet.ru

Legg til en kommentar