Как скомпилировать исходные файлы дерева устройств 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 -
вы можете преобразование
dtstodtbпо этого команда:dtc -I dts -O dtb -f devicetree_file_name.dts -o devicetree_file_name.dtb -
вы можете преобразование
dtbtodtsС помощью этой команды:dtc -I dtb -O dts -f devicetree_file_name.dtb -o devicetree_file_name.dts