デバイスツリー
ボードにどんなハードウェアが載っているかを記述したテキストファイル。これがあるおかげで、同じカーネルをボードごとに作り直さずに済む。
PCでは、OSがPCIやACPIを通じてハードウェアを自力で見つけ出す。しかし組み込みボードでは、UARTやI²Cコントローラ、GPIOは固定アドレスに置かれていて、問い合わせる手段がない。Linuxは長らくボードごとにCファイルを一つ用意して対処していたが、2011年にリーナス・トーバルズがこの山に公然と堪忍袋の緒を切らした。その後ARMは、すでにPowerPCが使っていたデバイスツリーへ移行した。起源はSunのOpen Firmwareにさかのぼる。
ソース(.dts)はdtcでバイナリ(.dtb)にコンパイルされ、多くの場合U-Bootなどのブートローダが起動時にカーネルへ渡す。Zephyrは同じ形式をビルド時に使う。ツリーはCのマクロに変換され、完成したファームウェアにはバイナリが残らない。