Быстрая перестройка дерева устройств только с помощью Yocto/bitbake?

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

Есть ли какой-либо трюк, который мне не хватает, который восстанавливает только дерево устройств?

UPDATE:

Я отметил g0hl1n ответ как правильный, так как это ответ на мой вопрос. Тем не менее, мне показалось очень трудным работать с ядром в Yocto: странные, длинные пути и риск перезаписывания файлов на каждой перестройке, источник ядра в tmp/work-shared, в то время как ядро ​​создается в tmp/work.

Вместо этого я перешел от разработки ядра из Yocto. У Yocto есть хорошие инструменты для создания SDK (см. Задачу populate_sdk), и при этом легко настроить среду для разработки ядра с помощью быстрых перестроек и ручных (или сценариев) развертываний. Как только работа будет выполнена, изменения могут быть перенесены в рецепт с использованием git diff.

Инструкции на следующей странице были очень полезны: http://jumpnowtek.com/beaglebone/Working-on-the-BeagleBone-kernel.html

Ответ 1

AFAIK есть два разных способа сделать это.

  • путь ядра: использование сценариев, предоставляемых ядром

    • Измените исходный каталог ядра (<build dir>/tmp/work/<machine>/<kernel-name>/<kernel-version>/git/)
    • Выполните команду device-tree-compiler: ./scripts/dtc/dtc -I dts -O dtb -o ./devicetree.dtb path/to/devicetree.dts
  • метод битбокса: использование задания развертывания ядра

    • Вызов $ bitbake <kernel-name> -f -c deploy
    • Сгенерированное device-tree-blob можно найти в <build dir>/tmp/work/<machine>/<kernel-name>/<kernel-version>/build/arch/arm/boot/dts/)

По крайней мере, для меня обе версии работали быстро.

UPDATE: Я только что придумал третью версию построения dtb с yocto в сети. Это использует yocto devshell для сборки ядра. Для получения дополнительной информации см. Исходную страницу авторов на https://splefty.blogspot.co.at/2015/09/compiling-device-tree-using-yocto.html.