Google ќе продолжи да развива иновации за Android во главниот кернел на Linux

На конференцијата Linux Plumbers 2021, Google зборуваше за успехот на својата иницијатива за транзиција на Android платформата да користи редовно Linux кернел наместо да користи сопствена верзија на кернелот, кој вклучува промени специфични за платформата Android.

Најважната промена во развојот беше одлуката да се префрли по 2023 година на моделот „Прво нагоре“, што подразбира развој на сите нови функции на кернелот потребни во платформата Андроид директно во главниот кернел на Линукс, а не во нивните посебни гранки ( функционалноста прво ќе биде промовирана на главната). кернел, а потоа се користи во Android, а не обратно). Преносот на сите дополнителни закрпи кои остануваат во гранката Android Common Kernel на главното јадро се планира и за 2023 и 2024 година.

Што се однесува до блиската иднина, за платформата Android 12 што се очекува на почетокот на октомври, ќе бидат понудени склопови на кернелот „Generic Kernel Image“ (GKI), што е можно поблиску до редовниот кернел 5.10. За овие изданија, ќе бидат обезбедени редовни изданија на ажурирања, кои ќе бидат објавени во складиштето ci.android.com. Во кернелот GKI, додатоците специфични за платформата за Android, како и ракувачите поврзани со хардверска поддршка од OEM, се сместени во посебни модули на јадрото. Овие модули не се врзани за верзијата на главниот кернел и можат да се развиваат одделно, што во голема мера го поедноставува одржувањето и преминувањето на уредите во нови гранки на јадрото.

Google ќе продолжи да развива иновации за Android во главниот кернел на Linux

Интерфејсите што ги бараат производителите на уреди се имплементирани во форма на куки, кои ви овозможуваат да го промените однесувањето на кернелот без да направите промени во кодот. Севкупно, кернелот android12-5.10 нуди 194 редовни куки, слични на точките за следење, и 107 специјализирани куки кои ви дозволуваат да управувате со ракувачи во неатомски контекст. Во кернелот GKI, на производителите на хардвер им е забрането да применуваат специфични закрпи на главното јадро, а компонентите за поддршка на хардверот мора да ги обезбедуваат продавачите само во форма на дополнителни модули на кернелот, кои мора да обезбедат компатибилност со главниот кернел.

Да потсетиме дека Android платформата развива своја гранка на кернелот - Android Common Kernel, врз основа на која се формираат посебни специфични склопови за секој уред. Секоја гранка на Android им дава на производителите неколку опции за распоред на јадрото за нивните уреди. На пример, Android 11 понуди избор од три основни кернели - 4.14, 4.19 и 5.4, а Android 12 ќе понуди основни кернели 4.19, 5.4 и 5.10. Опцијата 5.10 е дизајнирана како генеричка слика на кернелот, во која способностите потребни за OEM се префрлени на горе, сместени во модули или префрлени на заедничкиот кернел на Android.

Пред појавата на GKI, кернелот на Android помина низ неколку фази на подготовка:

  • Врз основа на главните LTS кернели (3.18, 4.4, 4.9, 4.14, 4.19, 5.4), беше создадена гранка на „Android Common Kernel“, во која беа префрлени закрпи специфични за Android (претходно големината на промените достигна неколку милиони линии ).
  • Врз основа на „Android Common Kernel“, производителите на чипови како што се Qualcomm, Samsung и MediaTek формираа „SoC Kernel“ што вклучуваше додатоци за поддршка на хардверот.
  • Врз основа на SoC Kernel, производителите на уреди го создадоа Device Kernel, кој вклучуваше промени поврзани со поддршката за дополнителна опрема, екрани, камери, звучни системи итн.

Овој пристап значително го комплицираше спроведувањето на ажурирањата за елиминирање на пропустите и транзицијата кон нови гранки на кернелот. Иако Google редовно објавува ажурирања на своите Android кернели (Android Common Kernel), продавачите честопати бавно ги испорачуваат овие ажурирања или генерално го користат истото јадро во текот на целиот животен циклус на уредот.



Извор: opennet.ru

Додадете коментар