Linuxカーネルに静的に組み込まれているアクティブなドライバーのリストを取得する方法は?


28

lsmod現在アクティブなカーネルモジュールを表示するために使用できますが、どのドライバーがカーネルに静的に組み込まれ、現在アクティブであるかをどのように確認できますか?

回答:


28

あなたがすることができます cat /lib/modules/$(uname -r)/modules.builtin

カーネルドキュメントから

modules.builtin

このファイルには、カーネルに組み込まれているすべてのモジュールがリストされています。これは、組み込みのものをロードしようとしたときに失敗しないようにmodprobeによって使用されます。


modules.builtinはunameのシステムに存在しません:Linux ecp 4.4.127-1.el6.elrepo.i686#1 SMP Sun Apr 8 09:44:43 EDT 2018 i686 i686 i386 GNU / Linux。組み込まれているドライバーを見つける別の方法はありますか?
ダニー

@Danny uname -rより一般的なものではなく、必ず使用してくださいuname -a
Nairou

7

Linuxに/proc/config.gzがある場合

これにはすべてのビルドされたモジュールがあります。他の場所にコピーして解凍します。「= M」がすべてモジュールとしてビルドされているファイルを開きます。「= Y」のあるものはすべて静的に構築されます。

hwinfoは、「Driver:」をリストします。上記のファイルをチェックして、静的にビルドされているかどうかを確認します。

参考:すべての静的に構築されたドライバは常にメモリにロードされ、アクションの準備ができています。対応するハードウェアがなければ、何もしませんが、メモリを使用します。


1
ない場合はどうなり/proc/config.gzますか?
JohnnyFromBF

カーネルをコンパイルしたディレクトリで.configファイルを見つけました。それは明らかにあなたが意図したものです。
JohnnyFromBF

1
このファイルは次の場所にもあります/boot/config-$(uname -r)
-JohnnyFromBF

1
ls /sys/module

すべての組み込みおよび外部モジュールが含まれているようです。

しかし、実際にはモジュールではないエントリもいくつか含まれているようです:https : //unix.stackexchange.com/questions/225706/are-modules-listed-under-sys-module-all-the-loaded-modules

TODO:ソースを読み、そこに何が置かれるかをより正確に理解します。

この方法の利点は、/bootまたはでカーネル構成を見つけることができることに依存しないことです/proc/config.gz

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.