Google ще продължи да разработва иновации за Android в основното ядро ​​на Linux

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

Най-важната промяна в разработката беше решението след 2023 г. да се премине към модела „Първо нагоре“, което предполага разработването на всички нови функции на ядрото, необходими в платформата Android, директно в основното ядро ​​на Linux, а не в техните собствени отделни клонове ( функционалността първо ще бъде повишена до основната).ядрото и след това ще се използва в 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 е проектирана като Generic Kernel Image, в която възможностите, необходими за OEM производителите, се прехвърлят към upstream, поставят се в модули или се прехвърлят към Android Common Kernel.

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

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

Този подход значително усложни внедряването на актуализации за премахване на уязвимостите и прехода към нови клонове на ядрото. Въпреки че Google редовно пуска актуализации на своите ядра на Android (Android Common Kernel), доставчиците често доставят бавно тези актуализации или обикновено използват едно и също ядро ​​през целия жизнен цикъл на устройството.



Източник: opennet.ru

Добавяне на нов коментар