如何获得静态内置在Linux内核中的活动驱动程序的列表?


28

虽然可以使用lsmod它来显示当前活动的内核模块,但是如何查看内核中静态构建了哪些驱动程序以及当前活动的驱动程序呢?

Answers:


28

你可以做一个 cat /lib/modules/$(uname -r)/modules.builtin

从内核文档

modules.builtin

该文件列出了内核中内置的所有模块。尝试加载内置内容时,modprobe使用它来确保不失败。


我的系统中不存在modules.builtin的名称: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将列出“驱动程序:”,检查以上文件以查看其是否为静态生成。

仅供参考:所有静态构建的驱动程序始终会加载到内存中并准备采取行动。如果没有相应的硬件,它们将什么也不做,而是使用内存。


1
如果没有该/proc/config.gz怎么办?
JohnnyFromBF 2013年

好的,我只是在编译内核的目录中找到一个.config文件,这显然是您的意思。
JohnnyFromBF 2013年

1
此文件也存在于此处:/boot/config-$(uname -r)
JohnnyFromBF 2013年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.