Проект по продвижению Android-патчей в ядро Linux
Тим Берд (Tim Bird), инженер компании Sony и участник группы разработки встраиваемых систем в Linux Foundation, направил в список рассылки Linux-ядра письмо с анонсом проекта Android Mainlining, цель которого продвинуть в ядро Linux патчи, необходимые для работы платформы Android.
К проекту уже присоединились некоторые независимые разработчики, а также компании, занимающиеся производством встраиваемой и мобильной техники. Для координации работы создана страница на сайте elinux.org, на которой опубликован список патчей, состояние проекта на текущий момент, а также преимущества, которые он даст производителям устройств:
Возможность использования последней версии ядра Linux при портировании Android; Концентрация усилий на одном ядре при разработке драйверов устройств; Упрощение процедуры разработки и сопровождения кода.
Также на сайте опубликован порядок действий, который необходимо проделать для включения патчей в ядро. Упрощенно он выглядит так: выяснение причин, мешающих включению; внесение требуемых изменений; обсуждение новой версии с командой Google; запрос на включение; повторное выполнение всех шагов в случае необходимости.
Напомним, что команда разработчиков Android уже направляла запрос на включение патчей в ядро, небольшая часть из которых была принята. Остальные патчи несколько лет оставались в ветке "-staging" и в конце-концов были удалены ввиду отсутствия интереса со стороны Google в их доработке до приемлемого состояния.
Среди созданных в рамках проекта Android патчей, которые до сих пор не включены в состав основного ядра Linux:
wakelocks - механизм блокировок для системы управления питанием, позволяющих предотвратить переход в спящий режим в ситуациях, когда это недопустимо (например, активен разговор по телефону), и наоборот для инициирования скорого засыпания при неактивности; ashmem - реализация разделяемой памяти, позволяющая маркировать незакреплённые страницы памяти, которые в последующем можно освободить в ситуации нехватки свободной памяти; Дополнительные проверки прав доступа для обеспечения безопасного выполнения сетевых операций; binder - используемый в Android механизм межпроцессного взаимодействия; USB-драйвер для эмуляции хранилища; Реализация LMK (low memory killer), управляющего принудительным завершением приложений в случае нехватки памяти; ram console - возможность сохранить вывод консоли в специальной области ОЗУ, к которой можно получить доступ после перезагрузки в режиме диагностики; Драйвер для управления памятью графической карты для чипов ION.
К проекту уже присоединились некоторые независимые разработчики, а также компании, занимающиеся производством встраиваемой и мобильной техники. Для координации работы создана страница на сайте elinux.org, на которой опубликован список патчей, состояние проекта на текущий момент, а также преимущества, которые он даст производителям устройств:
Возможность использования последней версии ядра Linux при портировании Android; Концентрация усилий на одном ядре при разработке драйверов устройств; Упрощение процедуры разработки и сопровождения кода.
Также на сайте опубликован порядок действий, который необходимо проделать для включения патчей в ядро. Упрощенно он выглядит так: выяснение причин, мешающих включению; внесение требуемых изменений; обсуждение новой версии с командой Google; запрос на включение; повторное выполнение всех шагов в случае необходимости.
Напомним, что команда разработчиков Android уже направляла запрос на включение патчей в ядро, небольшая часть из которых была принята. Остальные патчи несколько лет оставались в ветке "-staging" и в конце-концов были удалены ввиду отсутствия интереса со стороны Google в их доработке до приемлемого состояния.
Среди созданных в рамках проекта Android патчей, которые до сих пор не включены в состав основного ядра Linux:
wakelocks - механизм блокировок для системы управления питанием, позволяющих предотвратить переход в спящий режим в ситуациях, когда это недопустимо (например, активен разговор по телефону), и наоборот для инициирования скорого засыпания при неактивности; ashmem - реализация разделяемой памяти, позволяющая маркировать незакреплённые страницы памяти, которые в последующем можно освободить в ситуации нехватки свободной памяти; Дополнительные проверки прав доступа для обеспечения безопасного выполнения сетевых операций; binder - используемый в Android механизм межпроцессного взаимодействия; USB-драйвер для эмуляции хранилища; Реализация LMK (low memory killer), управляющего принудительным завершением приложений в случае нехватки памяти; ram console - возможность сохранить вывод консоли в специальной области ОЗУ, к которой можно получить доступ после перезагрузки в режиме диагностики; Драйвер для управления памятью графической карты для чипов ION.
Ещё новости по теме:
18:20