时间:2021-05-23
提问:我想要知道Linux系统中内核内置的模块,以及每个模块有哪些参数。有什么方法可以得到内置模块和设备驱动的列表,以及它们的详细信息呢?
现代Linux内核正在随着时间变化而迅速增长,以支持大量的硬件、文件系统和网络功能。在此期间,“可加载模块(loadable kernel modules,[LKM])”的引入防止内核变得越来越臃肿,以及在不同的环境中灵活地扩展功能及硬件支持,而不必重新构建内核。
最新的Linux发行版的内核只带了相对较小的“内置模块(built-in modules)”,其余的特定硬件驱动或者自定义功能作为“可加载模块”来让你有选择地加载或卸载。
内置模块被静态地编译进了内核。不像可加载内核模块可以动态地使用modprobe、insmod、rmmod、modinfo或者lsmod等命令地加载、卸载、查询模块,内置的模块总是在启动时就加载进了内核,不会被这些命令管理。
找出内置模块列表
要得到内置模块列表,运行下面的命令。
复制代码代码如下:$ cat /lib/modules/$(uname -r)/modules.builtin
你也可以用下面的命令来查看有哪些内置模块:
找出内置模块参数
每个内核模块无论是内置的还是可加载的都有一系列的参数。对于可加载模块,modinfo命令可以显示它们的参数信息。然而这个命令对内置模块没有用。你会得到下面的错误。
复制代码代码如下:modinfo: ERROR: Module XXXXXX not found.
如果你想要查看内置模块的参数,以及它们的值,你可以在 /sys/module 下检查它们的内容。
在 /sys/module目录下,你可以找到内核模块(包含内置和可加载的)命名的子目录。进入每个模块目录,这里有个“parameters”目录,列出了这个模块所有的参数。
比如你要找出tcp_cubic(内核默认的TCP实现)模块的参数。你可以这么做:
复制代码代码如下:$ ls /sys/module/tcp_cubic/parameters
接着阅读这个文件查看每个参数的值。
复制代码代码如下:$ cat /sys/module/tcp_cubic/parameters/tcp_friendliness
这篇文章就为大家介绍到这,相信大家现在一定知道如何获得Linux系统的内置模块和设备驱动列表了,希望大家喜欢这篇文章。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1.Linux内核驱动模块机制静态加载,把驱动模块编进内核,在内核启动时加载动态加载,把驱动模块编为ko,在内核启动后,需要用时加载2.编写内核驱动#inclu
安装linux操作系统后发现没有网卡驱动,表现为system→Administration→Network下Hardware列表为空。以下为
在前一篇文章中,我们介绍了如何在Ubuntu上为Android系统编写Linux内核驱动程序。在这个名为hello的Linux内核驱动程序中,创建三个不同的文件
Linux字符设备驱动框架字符设备是Linux三大设备之一(另外两种是块设备,网络设备),字符设备就是字节流形式通讯的I/O设备,绝大部分设备都是字符设备,常见
代码28表示该设备的驱动程序未被安装,这是因为主板驱动没有正常安装导致的。这是电源管理模块出现问题,很可能是安装系统时,使用了不当的Ghost系统源,可将该组件