Добавление пользовательского оверлея в сборку проекта Yocto
У меня есть модуль Colibri IMX7D с настраиваемой платой, и я пытался создать минимальный образ с помощью Yocto, чтобы столкнуться с ним. Однако у меня есть дисплей, и я не могу заставить его работать.
Само наложение, безусловно, работает, но я все еще не знаю, нужно ли мне его компилировать и применять во время загрузки, или я могу просто добавить его в дерево устройств при создании образа, чтобы он стал частью ядра с самого начала.
Я попытался исправить создание файла dts и его добавление в Makefile, но он выдает ошибку, говоря, что исправление зависит от более старого содержимого. Итак, я добавил файл dts в
build/tmp/work/<module>/<kernel>/<version>/git/arch/arm/boot/dts
и в том же каталоге я добавил в Makefile строку с
<my_device.dtb>
. Я уверен, что это неправильный способ делать что-то, но я был готов нарушить некоторые правила, если бы это означало, что я пойму, как это работает.
Пытаясь применить во время загрузки, добавил
<my_device.dtb>
в
/build/tmp/work/<module>/<image>/<version>/bootfs/overlays.txt
и с тех пор я вижу сообщение, в котором говорится
'Applying Overlay:my_device.dtb'
во время загрузки. Однако я не знаю, где должен быть этот файл, чтобы его правильно применили, и на данный момент он не работает.
С другой стороны, пытаясь добавить его в само дерево устройств, я создал новый слой с файлом bbappend с оператором
KERNEL_DEVICETREE += "my_device.dtb"
. Он по-прежнему не работает, но я понял, что он выполняет поиск этого файла, потому что использование несуществующего имени файла вызывает ошибку.
Я также понял, что внутри моего
build/deploy/images/<module>
каталог у меня есть скомпилированный dtb из
my_device.dts
. Однако я считаю, что он также должен быть внутри
build/deploy/images/<module>/devicetree
каталог и это не так.
Я был бы очень признателен, если бы кто-нибудь помог мне найти оставшиеся части, чтобы все работало так, как только возможно.
заранее спасибо