如何获得Linux系统的内置模块和设备驱动列表

  发布时间:2015-12-07 09:16:27   作者:佚名   我要评论
最新的Linux发行版的内核只带了相对较小的“内置模块(built-in modules)”,其余的特定硬件驱动或者自定义功能作为“可加载模块”来让你有选择地加载或卸载。我想要知道Linux系统中内核内置的模块,以及每个模块参数。有什么方法可以找出Linux系统中内置模块的信息?

提问:我想要知道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系统的内置模块和设备驱动列表了,希望大家喜欢这篇文章。

相关文章

  • Linux内核模块编写详解

    内核编程常常看起来像是黑魔法,而在亚瑟 C 克拉克的眼中,它八成就是了。Linux内核和它的用户空间是大不相同的:抛开漫不经心,你必须小心翼翼,因为你编程中的一个bug就
    2015-11-02
  • Linux系统在CPAN中安装Perl模块的方法

    Perl是编程语言,像C语言一样强大,那么Linux系统操作中,要如何从CPAN上安装Perl模块呢?下面有个不错的技巧,感兴趣的朋友可以看看
    2015-01-21
  • Linux系统下以模块方式安装卸载文件系统

    以Fedora8下面安装minix文件系统为例:   为了保证与系统内核相匹配,首先得获得相应版本的minix源代码,首先通过uname -r查询本机的内核版本:   [cocobear
    2008-09-08
  • Linux系统下编译安装支持NTFS的内核模块

    当你安装完Linux系统,并且已经启动,恭喜你!如果你的硬盘上还安装了WinNT/2000系统,你试图去访问另一个NTFS分区时却遇到了麻烦。因为你所用的Linux系统没有已编译的支持
    2008-09-08
  • 手动编译安装Linux网卡驱动

    以D-Link530的网卡进行模块的编译. 由于Linux的默认内核已经建立很多网卡驱动程序模块,所以在编译网卡模块之前就要确认网卡芯片是否被支持,如果被支持,就不需要编译模块.
    2008-09-08

最新评论