如何列出内核支持的所有硬件

路易斯·阿尔瓦拉多(Luis Alvarado)

我想查看使用中的内核支持的所有硬件。例如,如果我具有3.8.xx版的Linux内核,那么我将如何知道那里支持什么硬件。工具,如lspcilshwlscpudmidecode只检查所使用的那一刻,并试图找到这个使用加载的模块与硬件lsmod不是很方便无论是。

我想要的是一种可以检查使用中的内核实际支持的所有硬件的工具,而无需考虑是否使用了该硬件。

目前,我想到的是:

  • 读取/lib/modules/3.8.0-5-generic/kernel/drivers并解析每个文件。
  • 下载内核的git源并将其grepping以获取有关此信息。
  • 任何其他疯狂且漫长的方法。

还有其他更小的方法可以实现这一目标。

金发姑娘

我想要的是一种可以检查使用中的内核实际支持的所有硬件的工具,而无需考虑是否使用了该硬件。

如果您拥有.config构建内核文件,则可以下载源代码并运行make menuconfig,这将使您了解A)可以为之配置内核的硬件(但请参阅NOTE),以及B)您的硬件是什么。内核是实际配置的。

制作menuconfig

为此,请执行以下操作:

  1. 下载源。您的发行版可能有一个软件包,或者您可以从kernel.org获得它们使用找到您的版本uname -r
  2. 查找.config用于您的内核的。如果您通过发行版获得了源,则希望将其包括在内;您也可以在/ boot中的某个位置找到它。更好的是:现在通常发行版内核都是使用该/proc/config.gz功能构建的如果存在,则将其复制出来,解压缩,重命名该文件,.config然后将其复制到内核源代码树的顶层。
  3. make menuconfig从源代码树的顶层内部运行您将需要安装ncurses开发包(ncurses-devncurses-devel),并且需要是root用户。

使用menuconfig时,除了更改.config文件的内容外,您不会做任何坏事,这无关紧要(只是以后不要将自己与文件混淆)。

注意:实际上,您无法同时看到所有可能的硬件配置,因为根据在其他地方选择的内容,一个地方可能会出现不同的选项。内核配置有点迷宫。但是,您肯定会看到实际选择的所有内容(M意味着它是一个模块,*意味着它是内置的)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章