Google bude pokračovať vo vývoji inovácií pre Android v hlavnom linuxovom jadre

Na konferencii Linux Plumbers 2021 Google hovoril o úspechu svojej iniciatívy prechodu platformy Android na používanie bežného linuxového jadra namiesto používania vlastnej verzie jadra, ktorá zahŕňa zmeny špecifické pre platformu Android.

Najdôležitejšou zmenou vo vývoji bolo rozhodnutie prejsť po roku 2023 na model „Upstream First“, čo znamená vývoj všetkých nových funkcií jadra potrebných na platforme Android priamo v hlavnom linuxovom jadre, a nie v ich vlastných samostatných vetvách ( funkcionalita bude najskôr povýšená na hlavnú). jadro a potom sa použije v systéme Android a nie naopak). Na roky 2023 a 2024 sa plánuje aj prenos všetkých dodatočných opráv, ktoré zostali vo vetve Android Common Kernel, do hlavného jadra.

Čo sa týka blízkej budúcnosti, pre platformu Android 12, ktorá sa očakáva začiatkom októbra, budú ponúkané zostavy jadra „Generic Kernel Image“ (GKI), čo najbližšie k bežnému jadru 5.10. Pre tieto zostavy budú poskytované pravidelné vydania aktualizácií, ktoré budú zverejnené v úložisku ci.android.com. V jadre GKI sú doplnky špecifické pre platformu Android, ako aj obslužné programy súvisiace s hardvérovou podporou od výrobcov OEM umiestnené v samostatných moduloch jadra. Tieto moduly nie sú viazané na verziu hlavného jadra a môžu byť vyvinuté samostatne, čo značne zjednodušuje údržbu a prechod zariadení na nové vetvy jadra.

Google bude pokračovať vo vývoji inovácií pre Android v hlavnom linuxovom jadre

Rozhrania požadované výrobcami zariadení sú implementované vo forme hákov, ktoré vám umožňujú zmeniť správanie jadra bez vykonania zmien v kóde. Celkovo jadro android12-5.10 ponúka 194 bežných hákov, podobných sledovacím bodom, a 107 špecializovaných hákov, ktoré vám umožňujú spúšťať obslužné programy v neatomickom kontexte. V jadre GKI majú výrobcovia hardvéru zakázané aplikovať špecifické záplaty na hlavné jadro a komponenty hardvérovej podpory musia dodávatelia dodávať len vo forme doplnkových modulov jadra, ktoré musia zabezpečiť kompatibilitu s hlavným jadrom.

Pripomeňme, že platforma Android vyvíja vlastnú kernelovú vetvu – Android Common Kernel, na základe ktorej sa pre každé zariadenie vytvárajú samostatné špecifické zostavy. Každá vetva Androidu dáva výrobcom niekoľko možností rozloženia jadra pre ich zariadenia. Napríklad Android 11 ponúkal na výber tri základné jadrá – 4.14, 4.19 a 5.4 a Android 12 ponúkne základné jadrá 4.19, 5.4 a 5.10. Možnosť 5.10 je navrhnutá ako generický obraz jadra, v ktorom sú schopnosti potrebné pre OEM prenesené do upstreamu, umiestnené v moduloch alebo prenesené do Android Common Kernel.

Pred príchodom GKI prešlo jadro Androidu niekoľkými fázami prípravy:

  • Na základe hlavných jadier LTS (3.18, 4.4, 4.9, 4.14, 4.19, 5.4) bola vytvorená vetva „Android Common Kernel“, do ktorej boli prenesené záplaty špecifické pre Android (predtým veľkosť zmien dosahovala niekoľko miliónov riadkov ).
  • Na základe „Android Common Kernel“ vytvorili výrobcovia čipov ako Qualcomm, Samsung a MediaTek „SoC Kernel“, ktorý obsahoval doplnky na podporu hardvéru.
  • Na základe jadra SoC vytvorili výrobcovia zariadení jadro zariadenia, ktoré zahŕňalo zmeny súvisiace s podporou dodatočného vybavenia, obrazoviek, kamier, zvukových systémov atď.

Tento prístup výrazne skomplikoval implementáciu aktualizácií na odstránenie zraniteľností a prechod na nové vetvy jadra. Hoci spoločnosť Google pravidelne vydáva aktualizácie svojich jadier systému Android (Android Common Kernel), dodávatelia často tieto aktualizácie dodávajú pomaly alebo vo všeobecnosti používajú rovnaké jadro počas celého životného cyklu zariadenia.



Zdroj: opennet.ru

Pridať komentár