ドライバがカーネルモジュールであるか静的にリンクされているかを実行時に知る方法はありますか?

ドライバがカーネルモジュールであるか静的にリンクされているかを実行時に知る方法はありますか?

特定のデバイスのドライバがカーネルモジュールであることを確認するテストを作成する必要があります(静的にリンクされていない)。実行時にこの情報を知る方法はありますか?ありがとうございます!

ベストアンサー1

lsmod現在ロードされているカーネルモジュールが一覧表示されます。したがって、ドライバがリストにない場合は、カーネルに組み込まれているかロードされていません。ほとんどのディストリビューションでは、/boot使用されているカーネル設定オプションを含むディレクトリに設定ファイルを保存する必要があります。同じカーネルバージョンのソースコードをダウンロードして解凍したら、構成ファイルを.configソースツリーの上部にコピーしてから、実行すると構成設定にmake menuconfig移動し、ドライバがどのように構成されているかを確認できます。

場合によっては、カーネル構成は実際にはカーネル自体に組み込まれていますが、それにアクセスする方法を見つける必要があります。 :)

編集する:

より高速なもう1つのオプション(PCIデバイスの場合)はを実行することですlspci -v。この出力は、現在使用しているドライバの名前を示します。 lsmodにリストされていない場合は、組み込みでなければならないことがわかります。

おすすめ記事