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

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

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

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

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

Этот документ не поможет, если Вы хотите изменить главы: ../contribute/preinstalled-apps или: doc:`Системные программы. Смотрите соответствующие разделы документации.

Есть несколько различных групп устройств 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
    • Nexus 5 (hammerhead)

    • OnePlus One (bacon)

    • Fairphone 2 (FP2)

  • Ручные сборки
    • Nexus 4 (mako)

    • Nexus 7 2013 Wifi (flo)

  • (Частично) Откомпилированные сборки
    • Bq Aquaris E4.5 (krillin)

    • Bq Aquaris E5 (vegetahd)

    • Bq Aquaris M10 HD (cooler)

    • Bq Aquaris M10 FHD (frieza)

    • Meizu MX4 (arale)

    • Meizu Pro 5 (turbo)

    • Nexus 7 2013 GSM (deb)

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

Для смартфона 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).

All new ports of UT to Android devices should follow the Halium process. Further details can be found under Halium porting

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

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