текущее состояние ДУ можно посмотреть так:
sudo apt-get install device-tree-compiler
dtc -I fs -O dtb -o My.dtb /proc/device-tree
dtc -I dtb -O dts -o My.dts ./My.dtb
Это может быть полезно, если вам нужно увидеть эффект от слияния оверлеев в одно базовое дерево,
Имеется в виду следующее:
- имеем в руках
работающий Linux на ARM SBC (т.е. можем посмотреть /boot, /proc и всё-всё-всё...)
- какой-то совсем
чуждой OrangePi & Armbian архитектуры - я как образец беру Rapsberi Pi 2 ... с noname загруженным образом неиззвестной сборки и происхождения
- там в /boot, естественно, какая то иерархия файлов .dtb и оверлеев .dtbo ... там, как всегда, много лишнего, в расчёте на ближайшие модификации этого SBC ... там всякие mini, zero и пр.
- показанным вами способом я могу воссоздать
единое дерево .dtb, использующееся на данном конкретном образце SBC ... ну и, при желании, соответствующее ему .dts на "посмотреть"
- получаю что-то такое:
root@raspberrypi:~ # dtc -I fs -O dtb -o My.dtb /proc/device-tree
Warning (unit_address_vs_reg): Node /soc has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /soc/vchiq has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /soc/gpiomem has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /soc/local_intc has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /memory has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /axi/vc_mem has a reg or ranges property, but no unit name
Warning (avoid_default_addr_size): Relying on default #address-cells value for /axi/vc_mem
Warning (avoid_default_addr_size): Relying on default #size-cells value for /axi/vc_mem
root@raspberrypi:~ # ls
Desktop Documents Downloads ex01 gpio_test Music My.dtb pi2 Pictures Public Templates Videos
root@raspberrypi:~ # dtc -I dtb -O dts -o My.dts ./My.dtb
Warning (unit_address_vs_reg): Node /soc has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /soc/vchiq has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /soc/gpiomem has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /soc/local_intc has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /memory has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /axi/vc_mem has a reg or ranges property, but no unit name
Warning (avoid_default_addr_size): Relying on default #address-cells value for /axi/vc_mem
Warning (avoid_default_addr_size): Relying on default #size-cells value for /axi/vc_mem
root@raspberrypi:~ # ls
Desktop Documents Downloads ex01 gpio_test Music My.dtb My.dts pi2 Pictures Public Templates Videos
- как видно, всё сработало ... что там куча предупреждений - так это мы отставим на потом...
- видно, что .dtb & .dts создались...
Могу я это
единое дерево .dtb (оно ведь полностью соответствует аппаратной конфигурации что у меня в руках?) использовать при сборке нового образа для этого оборудования?