Google ap travay sou itilize yon nwayo Linux regilye nan Android

На прошедшей конференции Linux Plumbers 2019 компания Google te di о развитии inisyativ по переносу в основное ядро Linux изменений, развиваемых в варианте ядра для платформы Android. Конечной целью является предоставление возможности использования в Android одного общего ядра, вместо подготовки для каждого устройства отдельных сборок на основе специфичной для Android ветки Android Kernel Komen. Данная цель уже частично достигнута, и на конференции был продемонстрирован Android-смартфон Xiaomi Poco F1 с прошивкой на базе обычного немодифицированного ядра Linux.

После готовности проекта поставщикам будет предложено поставлять базовое ядро на основе основного ядра Linux. Компоненты для поддержки оборудования будут поставляться поставщиками только в виде дополнительных модулей ядра, без наложения на ядро патчей. В модулях обязательно должна будет обеспечиваться совместимость с основным ядром на уровне пространства имён символов ядра. Все изменения, затрагивающие основное ядро, будут продвигаться в upstream. Для сохранения совместимости с проприетарными модулями в рамках LTS-веток предлагается поддерживать в стабильном виде API и ABI ядра, что позволит сохранить совместимость модулей с обновлениями для каждой общей ветки ядра.

Google ap travay sou itilize yon nwayo Linux regilye nan Android

За год в основное ядро Linux из редакции ядра для Android были перенесены такие возможности, как подсистема PSI (Pressure Stall Information) для анализа информации о времени ожидания получения различных ресурсов (CPU, память, ввод/вывод), псевдофайловая система BinderFS для механизма межпроцессного взаимодействия Binder и энергоэффективный планировщик задач EAS (Energy Aware Scheduling). В дальнейшем Android планируется перевести со специфичного планировщика SchedTune на разработанную в ARM новую подсистему UtilClamp, основанную на cgroups2 и штатных механизмах ядра.

Google ap travay sou itilize yon nwayo Linux regilye nan Android

Напомним, что до сих пор ядро для платформы Android проходило несколько стадий подготовки:

  • На базе основных LTS-ядер (3.18, 4.4, 4.9 и 4.14) создавалось ответвление «Android Common Kernel», в которое переносились специфичные для Android патчи (ранее размер изменений достигал нескольких миллионов строк, но последнее время изменения были сокращены до нескольких тысяч строк кода).
  • На основе «Android Common Kernel» производители чипов, такие как Qualcomm, формировали «SoC Kernel», включающие дополнения для поддержки оборудования.
  • Ki baze sou SoC Kernel, manifaktirè aparèy yo te kreye Device Kernel, ki gen ladann chanjman ki gen rapò ak sipò pou ekipman adisyonèl, ekran, kamera, sistèm son, elatriye.

Google ap travay sou itilize yon nwayo Linux regilye nan Android

По сути, для каждого устройства формировалось своё собственное ядро, которое не могло использоваться на других устройствах. Подобная схема существенно усложняет доведение обновлений с устранением уязвимостей и переход на новые ветки ядра. Например, вышедший в октябре новейший смартфон Pixel 4 поставляется с ядром Linux 4.14, выпущенным два года назад. Частично, Google попытался упростить сопровождение продвигая систему Triplet, позволяющую производителям создавать универсальные компоненты поддержки оборудования, не привязанные к конкретным версиям Android и используемым выпускам ядра Linux. Treble даёт возможность использовать в качестве основы уже готовые обновления от Google, интегрируя в них специфичные для конкретного устройства компоненты.


Sous: opennet.ru

Add nouvo kòmantè