Device tree とは

コンピューティングでは、デバイスツリー(devicetreeともいう)は、特定のコンピュータのハードウェアコンポーネントを記述するデータ構造であり、オペレーティングシステムのカーネルがCPUやCPU、メモリ、バス、周辺装置などのコンポーネントを使用および管理できるようにします。
デバイスツリーは、Open Firmwareプロジェクトを介してSPARCベースのワークステーションおよびサーバーから取得されました。現在のDevicetree仕様は、より小型のシステムを対象としていますが、一部のサーバークラスのシステム(Power Architecture Platform ReferenceでApple Macintoshesを含む)で使用されています。
x86アーキテクチャを備えたパーソナルコンピュータは、一般的にデバイスツリーを使用せず、代わりにさまざまな自動構成プロトコルを使用してハードウェアを検出します。デバイスツリーを使用するシステムは通常、オペレーティングシステムに静的デバイスツリー(おそらくROMに格納されている)を渡しますが、ブートの初期段階でデバイスツリーを生成することもできます。例として、Das U-Bootとkexecは新しいオペレーティングシステムを起動するときにデバイスツリーを渡すことができます。デバイスツリーをサポートしていないブートローダを持つシステムでは、静的デバイスツリーがオペレーティングシステムとともにインストールされることがあります。 Linuxカーネルはこのアプローチをサポートしています。
Devicetreeの仕様は、現在、LinaroとArmに関連するdevicetree.orgというコミュニティによって管理されています。