dtc-1.7.1

Introduction to Dtc

The dtc package contains the Device Tree Compiler for working with device tree source and binary files and also libfdt, a utility library for reading and manipulating device trees in the binary format.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Dtc Dependencies

Optional

libyaml-0.2.5, SWIG-4.3.0, and texlive-20240312

Installation of Dtc

Install dtc by running the following commands:

mkdir build &&
cd    build &&

meson setup --prefix=/usr         \
            --buildtype=release   \
            -D python=disabled .. &&
ninja

To test the results, issue: meson test -v.

Now, as the root user:

ninja install

Still as the root user, remove the useless static library:

rm /usr/lib/libfdt.a

If you have texlive-20240312 installed, you can build the PDF format of the documentation by issuing the following command:

pushd ../Documentation
  latexmk -bibtex --pdf dtc-paper &&
  latexmk -bibtex --pdf dtc-paper -c
popd

To install the documentation, as the root user issue the following command:

cp -R ../Documentation -T /usr/share/doc/dtc-1.7.1

If you have installed SWIG-4.3.0 and you wish to install the Python 3 bindings of this package, adapt the code to be compatible with SWIG-4.3.0 or newer, and build the Python 3 module:

sed 's/SWIG_Python_AppendOutput/SWIG_AppendOutput/' \
    -i ../pylibfdt/libfdt.i &&
pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir ..

As the root user, install the Python 3 module:

pip3 install --no-index --find-links=dist --no-cache-dir --no-user libfdt

Command Explanations

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

-D python=disabled: This switch prevents building the Python 3 binding with the deprecated method (running setup.py directly). We will build the Python 3 binding with the pip3 wheel command separately if wanted.

Contents

Installed Programs: convert-dtsv0, dtc, dtdiff, fdtdump, fdtget, fdtoverlay, and fdtput
Installed Library: libfdt.so
Installed Directory: /usr/lib/python3.13/site-packages/libfdt-1.7.1.dist-info and /usr/share/doc/dtc-1.7.1 (optionally)

Short Descriptions

convert-dtsv0

converts device tree v0 source to device tree v1

dtc

compiles device tree source (dts) to device tree binary blob (dtb), or de-compiles dtb to dts

dtdiff

compares two different device trees

fdtdump

prints a readable version of a flat device-tree file

fdtget

reads values from device-tree

fdtoverlay

applies a number of overlays to a base device tree blob

fdtput

writes a property value to a device tree

libfdt.so

is a utility library for reading and manipulating device trees in the binary format