Абстракции уровня ядра и аппаратного уровня#

На этой странице описаны ресурсы и процессы для построения абстракции ядра и оборудования для устройств UT. Этот документ полезен, если вы хотите поработать:

  • Ошибки, связанные с оборудованием (камера, сенсоры, радио)

  • Ошибки, связанные с работой ядра Linux

  • Ошибки, возникающие при обновлении образа системы

Этот документ не поможет, если Вы хотите изменить главы: Предустановленные приложения или Системные программы. Смотрите соответствующие разделы документации.

Есть несколько различных групп устройств Ubuntu Touch в зависимости от того, как реализована абстракция ядра и оборудования:

  • Портированные версии на основе ОС Android 5.1

  • Сборки, основанные на Halium

  • Ядро Linux

Портированные версии на основе ОС Android 5.1#

Сборки ОС Ubuntu Touch на базе Android 5.1 состоят из модифицированного специально для устройства ядра Linux и базового набора сервисов Android, которые нужны, чтобы устройство заработало. У каждого устройства есть свой специально модифицированный набор версий ядра Linux. Все они сильно переработаны для работы с оборудованием и комплектующими этого устройства. Эти модифицированные и переработанные сборки построены на устаревших версиях официального ядра Linux.

Для некоторых устройств настроен механизм непрерывной интеграции (CI) для создания сборок ядер и системы Android. Для некоторых устройств сборки нужно формировать нужно вручную из репозиториев. Для многих устройств, к сожалению, в свободном доступе нет исходных кодов ядер системы и драйверов.Компании Bq и Meizu свободно распространяют исходные коды ядра, но файл «Android device tree» не является общедоступным. Вместо него, эти компании предлагают уже откомпилированные сборки ОС Android.

Подробные инструкции по подготовке сборок для устройств с поддержкой CI можно найти в главе HAL для Nexus 5, OnePlus One и Fairphone 2.

Для смартфона Nexus 7 2013 Wifi (flo) можно найти CI-сборку в репозитории `Community Ports repository for flo <https://gitlab.com/ubports/community-ports/flo> `_.

Сборка для смартфона Nexus 7 2013 GSM (deb) создавалась одним из участников сообщества. К сожалению, со временем эти репозитории были утрачены. Остались только откомпилированные файлы и образы системы.

План

Подготовить инструкции для смартфона Nexus 4 (mako)

Сборки, основанные на Halium#

Новые сборки ОС для устройств Android построены на Halium <https://docs.halium.org> _. Во многом сборки на основе Halium похожи на сборки на основе Android 5.1:

  • Тут также используются специально модифицированные для устройства версии ядра Linux, подготовленные производителем.

  • Некоторые компоненты Android нужны для корректной работы аппаратной части смартфона.

Однако Halium позволяет создавать универсальные сборки для Android-устройств. Это позволяет распределять работу между несколькими проектами, которые портированием различных проектов на основе ОС Linux на устройства Android. Сборки Halium также основаны на более новых версиях Android 7.1 и выше.

Хорошие примеры сборок на основе Halium - сборки ОС для Sony Xperia X и Oneplus 3. Практически все устройства, перечисленные на страничке devices.ubuntu-touch.io, работают на сборках на базе ОС Linux, кроме нескольких смартфонов (о них рассказывалось выше, работают на основе Android 5.1).

Все новые сборки UT для Android-устройств должны формироваться на базе Halium. Более подробную информацию можно найти в разделе Создание прошивок Halium

Сборки на базе ОС Linux#

Сборки на базе ОС Linux выпускаются для устройств, на которых используется ядро Linux без каких-либо компонентов Android. В эту группу входят следующие устройства: