На минулій конференції Linux Plumbers 2019 компанія Google
Після готовності проекту постачальникам буде запропоновано постачати базове ядро на основі основного ядра Linux. Компоненти для підтримки обладнання будуть поставлятися постачальниками лише у вигляді додаткових модулів ядра без накладання на ядро патчів. У модулях обов'язково буде забезпечуватися сумісність з основним ядром лише на рівні простору імен символів ядра. Всі зміни, що стосуються основного ядра, будуть просуватися в upstream. Для збереження сумісності з пропрієтарними модулями в рамках LTS-гілок пропонується підтримувати у стабільному вигляді API та ABI ядра, що дозволить зберегти сумісність модулів з оновленнями для кожної спільної гілки ядра.
За рік до основного ядра Linux з редакції ядра для Android було перенесено такі можливості, як підсистема PSI (Pressure Stall Information) для аналізу інформації про час очікування отримання різних ресурсів (CPU, пам'ять, введення/виведення), псевдофайлова система BinderFS для механізму міжпроцесної взаємодії Binder та енергоефективний планувальник завдань EAS (Energy Aware Scheduling). Надалі Android планується перевести зі специфічного планувальника SchedTune на розроблену в ARM нову підсистему UtilClamp, засновану на cgroups2 та штатних механізмах ядра.
Нагадаємо, що досі ядро для платформи Android проходило кілька стадій підготовки.
- На базі основних LTS-ядер (3.18, 4.4, 4.9 та 4.14) створювалося відгалуження «Android Common Kernel», в яке переносилися специфічні для Android патчі (раніше розмір змін досягав кількох мільйонів рядків, але останнім часом зміни були скорочені до кількох тисяч рядків коду ).
- На основі Android Common Kernel виробники чіпів, такі як Qualcomm, формували SoC Kernel, що включають доповнення для підтримки обладнання.
- На основі SoC Kernel виробники пристроїв створювали Device Kernel, що включають зміни, пов'язані з підтримкою додаткового обладнання, екранів, камер, звукових систем і т.п.
По суті, для кожного пристрою формувалося власне ядро, яке не могло використовуватися на інших пристроях. Подібна схема суттєво ускладнює доведення оновлень з усуненням уразливостей та перехід на нові гілки ядра. Наприклад, новий смартфон Pixel 4, що вийшов у жовтні, поставляється з ядром Linux 4.14, випущеним два роки тому. Частково, Google спробував спростити супровід просуваючи систему
Джерело: opennet.ru