Внедрение драйверов для поддержки дисплея в Ubuntu Core

Вопрос или проблема

Я хочу запустить Ubuntu Core на этом устройстве, которое является RPi CM4 с сенсорным дисплеем:
https://wiki.seeedstudio.com/reTerminal_Intro/

Попытка просто загрузить Ubuntu Core приводит к нерабочему экрану, поэтому я предполагаю, что требуется добавление драйверов, но неясно, как построить образ для Ubuntu Core с соответствующими драйверами. DTOverlay для драйверов можно найти здесь: https://github.com/Seeed-Studio/seeed-linux-dtoverlays

Любая помощь будет очень признательна.

Ответ или решение

Введение:

Использование Ubuntu Core на мощных встроенных устройствах, таких как Raspberry Pi Compute Module 4 (RPi CM4), может потребовать дополнительных настроек, особенно если речь идет о специализированных дисплеях, как, например, сенсорный экран reTerminal от компании Seeed Studio. Данный экран не будет работать "из коробки" с Ubuntu Core, так как это минималистская операционная система, нацеленная на IoT-устройства и контейнеризированные приложения. Чтобы обеспечить функциональность дисплея, потребуется выполнить интеграцию необходимых драйверов через Device Tree Overlay (DTOverlay). В этом ответе мы подробно рассмотрим технологию, примеры и применения, необходимые для решения вашей задачи.

Теория:

Ubuntu Core — это версия операционной системы Ubuntu, оптимизированная для использования в встраиваемых и IoT-устройствах. Она отличается от стандартной Ubuntu тем, что использует минималистичный подход и полагается на пакетный менеджер snap для установки приложений и драйверов. В случае с Ubuntu Core добавление поддержки для специализированных периферийных устройств, таких как сенсорные дисплеи, требует работы с Device Tree (DT) и Device Tree Overlays (DTO).

Device Tree — это структура данных, используемая для описания оборудования, с которым должна взаимодействовать операционная система. В мире Linux Device Tree используется для абстрагирования аппаратных различий устройств, таких как Raspberry Pi, от ядра операционной системы.

Device Tree Overlay позволяет добавлять или изменять существующие определения устройств в основном Device Tree. Это особенно полезно для устройств, таких как дисплеи, которые могут быть добавлены после сборки основного аппаратного обеспечения.

Пример:

Согласно предоставленной информации, необходимо интегрировать драйвера, находящиеся в репозитории Seeed Studio Linux Device Tree Overlays. Этот репозиторий содержит overlays для различных периферийных устройств и может быть использован для конфигурации вашего сенсорного дисплея.

На первом этапе вам нужно склонировать репозиторий на ваш локальный компьютер или устройство:

git clone https://github.com/Seeed-Studio/seeed-linux-dtoverlays.git

После получения исходных кодов перейдите в директорию, соответствующую вашему дисплею, и изучите доступные там файлы dts и dtbo.

Затем соберите overlay, используя компилятор Device Tree:

dtc -I dts -O dtb -o [имя файла].dtbo [имя файла].dts

Готовый файл .dtbo нужно будет перенести на вашу Ubuntu Core систему и поместить в папку /boot/firmware/overlays.

Применение:

После того, как вы скопировали ваш .dtbo файл в соответствующую директорию, необходимо обновить конфигурацию загрузчика для использования нового overlay. Это делается путем редактирования файла конфигурации /boot/firmware/config.txt, добавив строку:

dtoverlay=[имя вашего overlay файла без расширения]

После всех изменений необходимо перезагрузить устройство, чтобы убедиться, что изменения вступили в силу.

Если после перезагрузки дисплей начал функционировать, значит интеграция прошла успешно. В случае возникновения проблем стоит перепроверить правильность всех шагов, а также изучить лог-файлы системы для выявления дополнительных ошибок или предупреждений.

Заключение:

Интеграция драйверов для специализированных устройств в Ubuntu Core требует знания работы с Device Tree и Device Tree Overlays. Несмотря на то, что этот процесс может показаться сложным, при правильном следовании инструкциям и изучении предоставленных инструкций от Seeed Studio, можно успешно запустить Ubuntu Core с поддержкой сенсорного дисплея. Важно понимать, что каждая сборка оборудования уникальна, и может потребоваться дополнительная настройка конфигурации или поиск правильных версий драйверов, совместимых с вашей конкретной версией Ubuntu Core и ядра Linux.

Оцените материал
Добавить комментарий

Капча загружается...