Answers:
你可以做一个 cat /lib/modules/$(uname -r)/modules.builtin
从内核文档
该文件列出了内核中内置的所有模块。尝试加载内置内容时,modprobe使用它来确保不失败。
uname -r
而不是更常见uname -a
如果您的Linux具有/proc/config.gz
那具有所有的内置模块。将其复制到其他位置并解压缩。打开文件时,带有“ = M”的所有内容均作为模块构建。所有带有“ = Y”的内容都是静态生成的。
hwinfo将列出“驱动程序:”,检查以上文件以查看其是否为静态生成。
仅供参考:所有静态构建的驱动程序始终会加载到内存中并准备采取行动。如果没有相应的硬件,它们将什么也不做,而是使用内存。
/proc/config.gz
怎么办?
/boot/config-$(uname -r)
。
ls /sys/module
似乎包含所有内置和外部模块。
但它似乎也包含一些实际上不是模块的条目:https : //unix.stackexchange.com/questions/225706/are-modules-listed-under-sys-module-all-the-loaded-modules
待办事项:阅读源代码,并更准确地了解放置在那里的内容。
这种方法的优点是您不必依赖能够在/boot
或下找到内核配置/proc/config.gz
。