Tool to visualize the device tree file (dtb) used by the Linux kernel? Tool to visualize the device tree file (dtb) used by the Linux kernel? linux linux

Tool to visualize the device tree file (dtb) used by the Linux kernel?


dtc -O dts

sudo apt-get install device-tree-compilerdtc -I dtb -O dts -o a.dts a.dtb

gives a well indented textual representation of the device tree a.dts, which is easy to understand with a text editor. Or dump it to stdout with:

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

The source code for dtc is present in the kernel tree itself at scripts/dtc/dtc.c

Tested on Ubuntu 16.04, with the device tree of Raspberry Pi 2, found in the first partition of 2016-05-27-raspbian-jessie-qemu.img.

For convenience I have in my .bashrc:

dtbs() ( dtc -I dtb -O dts -o - "$1" )dtsb() ( dtc -I dts -O dtb -o - "$1" )

dtc can also extract the DTS from /proc of a live kernel as shown at: https://unix.stackexchange.com/questions/265890/is-it-possible-to-get-the-information-for-a-device-tree-using-sys-of-a-running


On linux we can directly open dtb file by using fdtdump

fdtdump dtb_file.dtb > /tmp/test.txt 


You can try the Component inspector tool.

enter image description here

It is part of QorIQ Configuration Suite which is a plugin for Eclipse.

Download here.(Requires registration. Free to download.)


Personally as i am on the cmd-line most of the time, and quite addicted to vi, i find its built-in code folding capabilities are somewhat sufficient as long as the dts is properly indented.

Setup hot-keys commands to fold/expand blocks of code in vi
by adding the following lines to .vimrc :

nnoremap <silent> <F5> zfa}<CR>nnoremap <silent> <F6> zo<CR>

With the above setup, to fold a block/node, simply move the cursor onto any of its lines(except the title) and hit F5. To expand a folded block/node, move to the line with the folded title and hit F6.

Here is what a partially folded dts looks like in vi.enter image description here