我想要的是一个能够检查当前使用的内核实际支持的所有硬件,而不考虑我是否正在使用该硬件的工具。
如果你有内核构建时使用的.config文件,你可以下载源代码并运行make menuconfig命令,这将让你了解A)可以为哪些硬件配置内核(但请注意注),以及B)你的内核实际上配置了哪些硬件。
所以要进行此操作:
下载源代码。您的发行版可能有一个软件包,或者您可以从kernel.org获取它们;使用uname -r找到您的版本。
查找用于您的内核的.config文件。如果您通过发行版获得了源代码,它可能已经包含在内;您还可以尝试在/boot目录中的某个位置找到它。更好的是:现在通常使用的发行版内核都带有/proc/config.gz功能。如果存在,请将其复制出来,解压缩后将文件重命名为.config,然后将其复制到内核源代码树的顶层目录下。
从源代码树的顶层目录中运行make menuconfig命令。您需要安装ncurses的“开发”套件(ncurses-dev或ncurses-devel),并且需要以root用户身份运行。
在使用menuconfig时,您不会做任何糟糕的事情,只会改变.config文件的内容,这并不重要(只是稍后不要把自己搞糊涂就好)。
注意:你实际上不能同时看到所有可能的硬件配置,因为不同的选项可能会根据其他地方的选择而出现在某个地方。内核配置有点像迷宫。然而,你肯定会看到所有实际选择的内容(M表示它是一个模块,*表示它是内置的)。