SkillAgentSearch skills...

Pyfdt

Python Flattened Device Tree Parser

Install / Use

/learn @superna9999/Pyfdt
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

pyfdt : Python Flattened Device Tree Manipulation


The pyfdt library is aimed to facilitate manipulation of the flattened device tree in order to parse it and generate output in various formats.

It is highly based on fdtdump for the dtc compiler package.

Support Inputs :

  • Device Tree Blob (.dtb)
  • Filesystem
  • JSON (See JSONDeviceTree.md)

Supported Outputs :

  • Device Tree Blob (DTB)
  • Device Tree Structure (text DTS)
  • JSON (See JSONDeviceTree.md)

Device Tree filesystem 'output' is available via the fusemount.py FUSE sample using fusepy library.

The object data permits :

  • add/delete/pop nodes and attributes
  • create attributes dynamically with native python types
  • walk throught the tree
  • resolve and generate "paths"
  • parse from DTB or filesystem
  • output DTB or DTS
  • output JSON
  • compare two tree
  • merge two trees

Any API, code, syntax, tests or whatever enhancement is welcomed, but consider this an alpha version project not yet used in production.

No DTS parser/compiler is event considered since "dtc" is the official compiler, but i'm open to any compiler implementation over pyfdt...

Typical usage is :

from pyfdt.pyfdt import FdtBlobParse
with open("myfdt.dtb",'rb') as infile:
    dtb = FdtBlobParse(infile)
    print(dtb.to_fdt().to_dts())

Will open a binary DTB and output an human readable DTS structure.

The samples directory shows how to :

  • checkpath.py : resolve a FDT path to get a node object
  • dtbtodts.py : how to convert from DTB to DTS
  • fusemount.py : how to mount the DTB into a Device Tree filesystem you can recompile using dtc
  • python-generate.py : generate a FDT in 100% python and generate a DTS from it
  • walktree.py : List all paths of the device tree
  • fstodtb.py : Device Tree blob creation from Filesystem device tree like DTC

Device Tree Wiki Device Tree Compiler

Build Status Coverity Scan Build Status

View on GitHub
GitHub Stars52
CategoryDevelopment
Updated1mo ago
Forks20

Languages

Python

Security Score

95/100

Audited on Feb 20, 2026

No findings