我想查看使用中的内核支持的所有硬件。例如,如果我具有3.8.xx版的Linux内核,那么我将如何知道那里支持什么硬件。工具,如lspci
,lshw
,lscpu
和dmidecode
只检查所使用的那一刻,并试图找到这个使用加载的模块与硬件lsmod
不是很方便无论是。
我想要的是一种可以检查使用中的内核实际支持的所有硬件的工具,而无需考虑是否使用了该硬件。
目前,我想到的是:
/lib/modules/3.8.0-5-generic/kernel/drivers
并解析每个文件。还有其他更小的方法可以实现这一目标。
我想要的是一种可以检查使用中的内核实际支持的所有硬件的工具,而无需考虑是否使用了该硬件。
如果您拥有.config
构建内核的文件,则可以下载源代码并运行make menuconfig
,这将使您了解A)可以为之配置内核的硬件(但请参阅NOTE),以及B)您的硬件是什么。内核是实际配置的。
为此,请执行以下操作:
uname -r
。.config
用于您的内核的。如果您通过发行版获得了源,则希望将其包括在内;您也可以在/ boot中的某个位置找到它。更好的是:现在通常发行版内核都是使用该/proc/config.gz
功能构建的。如果存在,则将其复制出来,解压缩,重命名该文件,.config
然后将其复制到内核源代码树的顶层。make menuconfig
从源代码树的顶层内部运行。您将需要安装ncurses开发包(ncurses-dev
或ncurses-devel
),并且需要是root用户。使用menuconfig时,除了更改.config
文件的内容外,您不会做任何坏事,这无关紧要(只是以后不要将自己与文件混淆)。
注意:实际上,您无法同时看到所有可能的硬件配置,因为根据在其他地方选择的内容,一个地方可能会出现不同的选项。内核配置有点迷宫。但是,您肯定会看到实际选择的所有内容(M
意味着它是一个模块,*
意味着它是内置的)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句