Joh*_*mBF 43 drivers linux-kernel kernel-module
虽然我可以使用lsmod
它来显示当前活动的内核模块,但我如何才能看到哪些驱动程序静态内置到内核中并且当前处于活动状态?
cyb*_*ard 10
如果你的 linux 有一个 /proc/config.gz
这具有所有内置模块。将其复制到别处并解压缩。打开文件,带有“=M”的所有内容都构建为模块。带有“=Y”的所有内容都是静态构建的。
hwinfo 会列出“Driver:” 检查上面的文件,看它是否是静态构建的。
仅供参考:所有静态构建的驱动程序始终加载到内存中并准备好进行操作。没有相应的硬件,它们什么也做不了,只能使用内存。
小智 5
sysfs 模块区域/sys/module
是运行内核可见的所有模块的视图。每个模块目录都有一组 sysfs 接口文件,可以通过用户空间查看和管理模块。一般来说,LKM 有一个refcnt
文件,如果它与holder
使用它的那些模块的目录一起使用,则该文件将大于 0 。内置模块没有这个文件(或许多其他像initstate
和taint
.)
尝试find /sys/module -name refcnt -printf '\n%p: ' -exec cat {} \;
查看正在使用哪些。
许多模块下都有一个parameters
目录,其中包含可以从用户空间查看和修改的参数。在源代码中,这通常是对module_param
宏的调用。例如,请参阅kernel/printk.c
和模块/sys/module/printk/parameters
以获得一些有用的 printk 调整。
下面的所有实体/sys/module
都设置在内核模块框架中。有些是硬件驱动程序,有些是 netfilter,有些是文件系统,有些是调试等。
归档时间: |
|
查看次数: |
51849 次 |
最近记录: |