Linuxに周辺ハードウェアドライバをインストールする方法は?

Linuxに周辺ハードウェアドライバをインストールする方法は?

新しいワイヤレスキーボードを購入し、WindowsおよびLinuxシステムでテストしました。

両方とも動作しますが、初期の違いは1つあります。 Windowsがインターネットからキーボード(Logitech)用のドライバを見つけてインストールするのに1〜2分かかりました。視覚的にこれを知らせ、進捗状況を示します。

しかし、私のDebianコンピュータに接続したとき、そのような進歩はありませんでした。そしてほぼすぐに使えましたが、どうしてそんなに早く動作するのかわかりません。

Linuxは、一般的なBluetoothアダプタドライバと一般的なキーボードドライバの組み合わせを使用しますか?

答え1

Linuxハードウェアドライバはカーネルモジュールです。カーネルのオープンソースモデルとライセンスにより、ハードウェアメーカーによって作成されたカーネルはほとんどなく、ほとんどはリバースエンジニアリングまたは標準化された公開プロトコルに基づいています。 Bluetoothは確かに後期段階の領域であり、マウスやキーボードなどのものはほとんど完全に普遍的です。

これらのモジュールはカーネルソースツリーの重要な部分です。つまり、Linuxカーネルのソースコードをダウンロードすると、利用可能なすべてのモジュールのコードが付属しています。もちろん、これらすべてをビルドに含める必要はありません。

Linuxディストリビューションは、(通常)カーネルを含む事前に構築されたバイナリのコレクションです。カーネル自体はバイナリです。モジュールを組み込むことも、カーネルがロードおよびアンロードできる別のバイナリにすることもできます。利用可能なすべてのモジュールを単一のバイナリとして構築すると、カーネルが膨大になり、ディストリビューションにできるだけ多くのハードウェアを含めようとしているので、ディストリビューションカーネルパッケージには多数の個別のバイナリモジュールが含まれています。

でこれらの内容を見ることができます/lib/modules。ドライバモジュールはカーネルに登録され、同時に構築されます。カーネルは、システムで何が利用可能かを知っています。新しいハードウェアを接続すると、システムは自分自身を識別し、カーネルは/lib/modulesロードする適切なドライバを選択します。

あなたはあなたのすべてを見ることができます現在読み込まれていますモジュールとlsmod

関連情報