Быстрая перестройка дерева устройств только с помощью 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.