Как скомпилировать исходные файлы дерева устройств DTS Linux в dtb?

У меня есть файл дерево устройств (.dts), и я хочу скомпилировать файл для моей платы на основе powerpc.

Как я могу это сделать на своей машине, которая не основана на powerpc?? Могу ли я сделать это с помощью DTC, установленного на моей системе Ubuntu? Или это будет больше похоже на использование отдельного компилятора и передачу информации ARCH (например, с помощью цепочки инструментов)?

3 ответов


деревья устройств не нужно компилировать с помощью инструментов, "учитывающих архитектуру". Компилятор dtc на вашей машине ubuntu, вероятно, достаточно актуален для компиляции дерева устройств. Или вы можете загрузить последний источник и скомпилировать его самостоятельно. Компилятор dtc можно найти здесь:

https://git.kernel.org/pub/scm/utils/dtc/dtc.git

в этом пакете есть несколько хороших документов, которые помогут вам лучше понять деревья устройств в генеральный.

довольно легко скомпилировать (и разобрать) деревья устройств. Например

$ dtc -O dtb -o p4080ds.dtb p4080ds.dts

чтобы получить дерево устройств в тексте из blob дерева устройств, сделайте следующее:

$ dtc -I dtb -O dts p4080ds.dtb

надеюсь, что это помогает!


make dtbs из дерева ядра-еще один распространенный способ их компиляции, так как стандартное место для размещения dts находится под деревом ядра в каталогах вида ./arch/<arch>/boot/dts.

это заканчивается вызовом dtc, но могли бы работать лучше, потому что потенциал включает будет в нужном месте.

dtbs размещаются в том же каталоге, что и dts.


  • dtc может быть установлен этой командой в linux:

    sudo apt-get install device-tree-compiler

  • вы можете compile dts или dtsi файлы по этой команде:

    dtc -I dts -O dtb -o devicetree_file_name.dtb devicetree_file_name.dts

  • вы можете преобразование dts to dtb по этого команда:

    dtc -I dts -O dtb -f devicetree_file_name.dts -o devicetree_file_name.dtb

  • вы можете преобразование dtb to dts С помощью этой команды:

    dtc -I dtb -O dts -f devicetree_file_name.dtb -o devicetree_file_name.dts