DTC(1)

πŸ“¦
version 1.7.2 Β· 2 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ‘‘ DTC β€” Device Tree Compiler πŸ’…

okay bestie, so <pink>dtc</pink> is the Device Tree Compiler, and it lives in the General Commands Manual section 1. she takes a device-tree in one format and spits it back out in another format so kernels can boot on embedded systems. no cap, she's the main character of your build pipeline. 🌸


✨ SYNOPSIS ✨

/usr/bin/dtc [options] <input file>

that's it. that's the whole vibe. options, then your input file. πŸŽ€


πŸ¦‹ DESCRIPTION πŸ¦‹

so like, Device Tree Compiler, aka dtc, takes as input a device-tree in a given format and outputs a device-tree in another format β€” and the whole point is booting kernels on embedded systems, iykyk.

typically the input format is dts, the human-readable source format, and she creates a dtb β€” that's the binary format β€” as output. it's giving "translate my cute readable text into machine-please". πŸ’–


🌈 OPTIONS 🌈

  • -h β€” display help text. the classic. your girl tells you what's up. 🫢
  • -q β€” quiet mode. and bestie, she has levels:
    • -q β€” suppress warnings.
    • -qq β€” suppress errors.
    • -qqq β€” suppress all. silence. iconic. πŸ’€
  • -I <input format> β€” pick your input format, babes. the options are:
    • dts β€” device tree source text
    • dtb β€” device tree blob
    • fs β€” /proc/device-tree style directory
  • -o <output file> β€” dump the result into a file instead of stdout. so you don't have to sit there copy-pasting like it's 2009. ✨
  • -O <output format> β€” pick your output format. the options are:
    • dts β€” device tree source text
    • dtb β€” device tree blob
    • asm β€” assembler source
  • -V <output version> β€” the blob version to produce. default is 17. (only relevant for dtb and asm output, so don't stress if you're not doing that.) πŸ”₯
  • -d <output dependency file> β€” okay so she takes an output dependency file here. the original page is lowkey mysterious about what she does with it, so we're just gonna hold hands and acknowledge it exists. πŸ™ˆ
  • -R <number> β€” make space for <number> reserve map entries (only relevant for dtb and asm output).
  • -S <bytes> β€” make the blob at least <bytes> long. extra space, because we love a little breathing room. 🌸
  • -p <bytes> β€” add padding to the blob of <bytes> long (extra space).
  • -b <number> β€” set the physical boot CPU.
  • -f β€” force it. try to produce output even if the input tree has errors. she's stubborn and we respect it. πŸ’…
  • -s β€” sort nodes and properties before outputting (only useful for comparing trees). very "let me organize this for you" of her. πŸŽ€
  • -v β€” print the dtc version and exit. quick lil vibe check. ⭐
  • -H <phandle format> β€” pick your phandle format, bestie. the options are:
    • legacy β€” "linux,phandle" properties only
    • epapr β€” "phandle" properties only
    • both β€” both "linux,phandle" and "phandle" properties

πŸ’œ AUTHOR πŸ’œ

dtc was written by David Gibson <david@gibson.dropbear.id.au>. since April 1, 2006, Jon Loeliger <jdl@jdl.com> assumes maintainership. πŸ‘‘

this manual page was originally written by Aurélien GÉRÔME <ag@roxor.cx>, for the Debian project (but may be used by others).

this manual page is currently maintained and update it by HΓ©ctor OrΓ³n <zumbi@debian.org>, for the Debian project.


and that's the whole page, bestie!! πŸ¦‹ this lil masterpiece is from the Linux world, dated 30 January 2012, and it's the DTC(1) page β€” go forth and compile your device trees, you absolute legend. mwah. πŸ’–βœ¨πŸŽ€