Automic VaultAutomic Vault

brew

Install dtc with Homebrew, apk, dnf, MacPorts, Nix, pacman, winget, zypper

Device tree compiler. Version 1.8.1 via Homebrew; verified 2026-05-28.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install dtc

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install dtc

MacPorts ports tree · cross/dtc/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add dtc

Alpine Linux edge package indexes · dtc · source: dl-cdn.alpinelinux.org

Fedora dnfverified · 92%
sudo dnf install dtc

Fedora Rawhide package metadata · dtc · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#dtc

nixpkgs package indexes · pkgs/by-name/dt/dtc/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S dtc

Arch Linux sync databases · dtc · source: geo.mirror.pkgbuild.com

openSUSE zypperverified · 92%
sudo zypper install dtc

openSUSE Tumbleweed package metadata · dtc · source: download.opensuse.org

Windows

Windows Package Managerverified · 92%
winget install --id oss-winget.dtc -e

Windows Package Manager source index · oss-winget.dtc · source: cdn.winget.microsoft.com

overview

Package summary

Device tree compiler

Commands and aliases

  • convert-dtsv0
  • dtc
  • dtdiff
  • fdtdump
  • fdtget
  • fdtoverlay
  • fdtput

history

Project history and usage

dtc is the Device Tree Compiler, the upstream toolchain for converting human-readable Devicetree Source files into binary Devicetree Blob files and back. It is a small command-line package, but it sits on a critical path for Linux, embedded boards, bootloaders, firmware descriptions, and hardware bring-up.

Project history

The Linux kernel documentation explains the historical setting: Devicetree came from Open Firmware as a way for firmware to describe hardware to an operating system, long used on PowerPC and SPARC. In 2005, PowerPC Linux cleanup required DT support broadly, and the Flattened Device Tree format was created so bootloaders such as U-Boot and kexec could pass a binary blob to the kernel without requiring a full Open Firmware implementation.

dtc is the userspace compiler around that format. Its manual says the compiler takes a device tree in one format and emits another, typically compiling DTS source into DTB binary output, while also supporting filesystem-style input, assembly output, YAML intermediate output, libfdt, fdtdump, fdtget, fdtput, fdtoverlay, and related tools.

The upstream repository is maintained on git.kernel.org by the DTC group. The official manual names git.kernel.org as the source location and gives the HTTP(S) upstream repository URL, making it the authoritative repo rather than a package-manager mirror.

Adoption history

dtc adoption follows Linux and embedded adoption rather than an application popularity curve. Whenever a board port, bootloader, firmware workflow, or kernel build needs DTS-to-DTB compilation or libfdt tools, dtc becomes part of the build or debugging environment.

Package-manager coverage is broad: the input package metadata records Alpine, Homebrew, Fedora/DNF, MacPorts, Nix, Arch/pacman, winget, and zypper packages. Homebrew analytics are much higher than the other packages in this batch, which fits dtc's role as infrastructure pulled in by embedded, kernel, and hardware workflows.

How it is used

The core command compiles between input formats such as `dts`, `dtb`, and filesystem representation, and output formats such as `dtb`, `dts`, assembly, and YAML. Common workflows include compiling board `.dts` files, decompiling `.dtb` blobs for inspection, generating overlays with symbol and fixup metadata, and using libfdt utilities in scripts.

The package has no user config file or credentials. It is a compiler/tool suite whose behavior is driven by command-line options and source files.

Why package nerds care

dtc is significant because it is one of those packages that looks small in a package list but represents an entire hardware-description ABI. If you build kernels, bootloaders, board support packages, or firmware images, `dtc` is often just there, quietly turning text descriptions into boot-time data.

For package nerds, it is also a reminder that not all important packages are user-facing applications. dtc is plumbing: versioned tarballs from kernel.org, a dual GPL/BSD license model, libfdt consumers, distro packaging, and an executable family that shows up anywhere embedded Linux work happens.

Timeline

  • 2005: Linux kernel documentation describes Flattened Device Tree creation during PowerPC Linux cleanup.
  • 2006-01: The dtc refs page shows the `dwg-last` tag.
  • 2007-08: The dtc refs page shows v1.0.0.
  • 2011-05: The dtc refs page shows v1.3.0.
  • 2021-06: The dtc refs page shows v1.6.1.
  • 2026-05: The dtc refs page shows v1.8.1, packaged by Homebrew as the stable version.

Related projects

  • Linux Devicetree support is the main operating-system context for dtc.
  • U-Boot and kexec are named by the Linux kernel documentation as bootloaders or loaders modified to pass and modify DTB data.
  • libfdt is part of the dtc source tree and provides library access to Flattened Device Tree data.
  • Devicetree.org specifications are cited by the Linux kernel documentation as the format overview.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 1 runtime dependencies.
  • Build metadata lists 3 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
convert-dtsv0cliglobal executable
dtccliglobal executable
dtdiffcliglobal executable
fdtdumpcliglobal executable
fdtgetcliglobal executable
fdtoverlaycliglobal executable
fdtputcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version1.8.1
manager updated2026-05-28
local dataok
upstreamnot checked
latest detectednot detected

https://git.kernel.org/pub/scm/utils/dtc/dtc

install metadata

Package metadata

Package keybrew:dtc
Version1.8.1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/dtc
Homepagehttps://git.kernel.org/pub/scm/utils/dtc/dtc.git
Repositoryhttps://git.kernel.org/pub/scm/utils/dtc/dtc.git
Upstream docshttps://git.kernel.org/pub/scm/utils/dtc/dtc.git/tree/Documentation
LicenseGPL-2.0-or-later OR BSD-2-Clause
Source archivehttps://mirrors.edge.kernel.org/pub/software/utils/dtc/dtc-1.8.1.tar.xz
Last updated2026-05-28T04:27:00Z
Pulseupdated
Dependencieslibyaml
Build dependenciesmeson, ninja, pkgconf
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namedtc
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

dtc

nix profile install nixpkgs#dtc
  • normalized package name match
  • Matched by: Dtc
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/dt/dtc/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
apk95%

dtc 1.7.2-r1

Device Tree Compiler

https://git.kernel.org/pub/scm/utils/dtc/dtc.git/

sudo apk add dtc
  • License: GPL-2.0-or-later
  • Architecture: x86_64
  • Source Package: dtc
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Dtc
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: dtc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
apk95%

dtc-dev 1.7.2-r1

Device Tree Compiler (development files)

https://git.kernel.org/pub/scm/utils/dtc/dtc.git/

sudo apk add dtc-dev
  • License: GPL-2.0-or-later
  • Architecture: x86_64
  • Source Package: dtc
  • 1 dependencies
  • normalized package name match
  • Matched by: Dtc
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: dtc-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
apk95%

libfdt 1.7.2-r1

Device tree library

https://git.kernel.org/pub/scm/utils/dtc/dtc.git/

sudo apk add libfdt
  • License: GPL-2.0-or-later OR BSD-2-Clause
  • Architecture: x86_64
  • Source Package: dtc
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Dtc
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: libfdt from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
apk95%

py3-libfdt 1.7.2-r1

Device tree library for Python 3

https://git.kernel.org/pub/scm/utils/dtc/dtc.git/

sudo apk add py3-libfdt
  • License: GPL-2.0-or-later
  • Architecture: x86_64
  • Source Package: dtc
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Dtc
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: py3-libfdt from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
apk95%

py3-libfdt-pyc 1.7.2-r1

Precompiled Python bytecode for py3-libfdt

https://git.kernel.org/pub/scm/utils/dtc/dtc.git/

sudo apk add py3-libfdt-pyc
  • License: GPL-2.0-or-later
  • Architecture: x86_64
  • Source Package: dtc
  • 1 dependencies
  • normalized package name match
  • Matched by: Dtc
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: py3-libfdt-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
dnf95%

dtc 1.8.1-2.fc45

Device Tree Compiler

https://devicetree.org/

sudo dnf install dtc
  • License: GPL-2.0-or-later
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: dtc
  • 5 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Dtc
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: dtc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

libfdt 1.8.1-2.fc45

Device tree library

https://devicetree.org/

sudo dnf install libfdt
  • License: GPL-2.0-or-later
  • Category: Unspecified
  • Architecture: i686
  • Source Package: dtc
  • 2 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Dtc
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: libfdt from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

libfdt-devel 1.8.1-2.fc45

Development headers for device tree library

https://devicetree.org/

sudo dnf install libfdt-devel
  • License: GPL-2.0-or-later
  • Category: Unspecified
  • Architecture: i686
  • Source Package: dtc
  • 3 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Dtc
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: libfdt-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

libfdt-static 1.8.1-2.fc45

Static version of device tree library

https://devicetree.org/

sudo dnf install libfdt-static
  • License: GPL-2.0-or-later
  • Category: Unspecified
  • Architecture: i686
  • Source Package: dtc
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Dtc
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: libfdt-static from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

mingw32-libfdt 1.8.1-2.fc45

MinGW Device tree library

https://devicetree.org/

sudo dnf install mingw32-libfdt
  • License: GPL-2.0-or-later
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: dtc
  • 4 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Dtc
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: mingw32-libfdt from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

mingw32-libfdt-static 1.8.1-2.fc45

Static version of MinGW Device tree library

https://devicetree.org/

sudo dnf install mingw32-libfdt-static
  • License: GPL-2.0-or-later
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: dtc
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Dtc
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: mingw32-libfdt-static from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

mingw64-libfdt 1.8.1-2.fc45

MinGW Device tree library

https://devicetree.org/

sudo dnf install mingw64-libfdt
  • License: GPL-2.0-or-later
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: dtc
  • 4 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Dtc
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: mingw64-libfdt from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

mingw64-libfdt-static 1.8.1-2.fc45

Static version of MinGW Device tree library

https://devicetree.org/

sudo dnf install mingw64-libfdt-static
  • License: GPL-2.0-or-later
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: dtc
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Dtc
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: mingw64-libfdt-static from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

python3-libfdt 1.8.1-2.fc45

Python 3 bindings for device tree library

https://devicetree.org/

sudo dnf install python3-libfdt
  • License: GPL-2.0-or-later
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: dtc
  • 5 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Dtc
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: python3-libfdt from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
pacman95%

dtc 1:1.7.2-1

Device Tree Compiler

https://www.devicetree.org/

sudo pacman -S dtc
  • License: GPL-2.0-or-later
  • Architecture: x86_64
  • 3 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Dtc
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: dtc from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment