私が理解したところ、カーネルは特定のデバイスツリーを介してシステム内のさまざまなハードウェアと通信する方法を理解しています。
Ubuntuの1つのバージョンをダウンロードして、ハードウェアが異なる可能性があるシステムにインストールできるのはなぜですか?
BeagleBone組み込みボードも同様です。さまざまな周辺機器を使用してさまざまな種類のBeagleBoneボードにフラッシュできる基本的なDebianイメージがあります。同じ画像がすべての人に機能するときにどのデバイスツリー/デバイスツリーオーバーレイを使用するかをどうやって知ることができますか?
ベストアンサー1
デバイスドライバ(つまり、ハードウェアと直接対話するカーネル部分)は、カーネルモジュールにコンパイルできます。これは、システムのハードウェアに応じて、必要に応じてカーネルによってロードまたはアンロードできる別々のファイルです。
主流のLinuxディストリビューションに付属の一般的なカーネルには、考えられるすべてのハードウェア用のモジュールとしてコンパイルされたすべてのドライバが付属する傾向があります。したがって、カーネルが特定のシステムで起動すると、システムにどのハードウェアがあるかを調べて検出し、ユーザースペースプログラムに特定のハードウェアudev
に必要なカーネルモジュールをロードするように指示します。