Google перейдёт к развитию новшеств для Android в основном ядре Linux

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
26-Сен-2021 13:30

На прошедшей конференции Linux Plumbers 2021 компания Google рассказала об успехах инициативы по переводу платформы Android на использование обычного ядра Linux вместо применения собственного варианта ядра, включающего изменения, специфичные для платформы Android.
Наиболее важным изменением в разработке стало решение по переходу после 2023 года на модель "Upstream First", подразумевающую развитие всех новых возможностей ядра, необходимых в платформе Android, непосредственно в основном ядре Linux, а не в своих отдельных ветках (функциональность вначале будет продвигаться в основное ядро, а потом использоваться в Android, а не наоборот). На 2023 и 2024 годы также намечена передача в основной состав ядра всех дополнительных патчей, остающихся в ветке Android Common Kernel.
Что катается ближайшего будущего, то для ожидаемой в начале октября платформы Android 12 будут предложены сборки ядра "Generic Kernel Image" (GKI), по возможности приближенные к обычному ядру 5.10. Для указанных сборок будет предоставлен регулярный выпуск обновлений, которые будут размещаться в репозитории ci.android.com. В ядре GKI специфичные для платформы Android дополнения, а также связанные с поддержкой оборудования обработчики от OEM-производителей вынесены в отдельные модули ядра. Указанные модули не привязаны к версии основного ядра и могут развиваться отдельно, что значительно упрощает сопровождение и перевод устройств на новые ветки ядра.

Необходимые для производителей устройств интерфейсы реализованы в форме хуков, которые позволяют менять поведение ядра без внесения изменений в код. Всего в ядре android12-5.10 предложено 194 обычных хука, аналогичных точкам трассировки (tracepoint), и 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 Common Kernel" производители чипов, такие как Qualcomm, Samsung и MediaTek, формировали "SoC Kernel", включающие дополнения для поддержки оборудования.
  • На основе "SoC Kernel" производители устройств создавали "Device Kernel", включающие изменения, связанные с поддержкой дополнительного оборудования, экранов, камер, звуковых систем и т.п.
Подобный подход существенно усложнял доведение обновлений с устранением уязвимостей и переход на новые ветки ядра. Несмотря на то, что Google регулярно выпускает обновления своих Android-ядер (Android Common Kernel), поставщики часто не спешат поставлять эти обновления или вообще используют одно ядро на протяжении всего жизненного цикла устройства.
Извините, данный ресурс не поддреживается. :(
===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_google, #_kernel, #_android
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 01:24
Часовой пояс: UTC + 5