如何查明内核中包含哪个版本的驱动程序?

如何查明内核中包含哪个版本的驱动程序?

我需要找出未安装的内核中包含哪个驱动程序/模块版本。源中是否有包含此内容或在线列出但无法找到的内容的文档?

答案1

您可以使用该modinfo命令为您提供有关给定模块的所有类型的信息。

例如:

$ modinfo bluetooth
filename:       /lib/modules/3.17.4-1-ARCH/kernel/net/bluetooth/bluetooth.ko.gz
alias:          net-pf-31
license:        GPL
version:        2.19
description:    Bluetooth Core ver 2.19
author:         Marcel Holtmann <[email protected]>
srcversion:     4D63C2C41C55E984E7057A5
depends:        rfkill,crc16
intree:         Y
vermagic:       3.17.4-1-ARCH SMP preempt mod_unload modversions 
parm:           disable_esco:Disable eSCO connection creation (bool)
parm:           disable_ertm:Disable enhanced retransmission mode (bool)

然而,大多数时候您不会找到任何明确的版本,因为该模块只是包含在内核源代码树中的模块。

答案2

当您说“最新内核”时,您是指最新稳定版、最新长期版还是最新主线版?您在寻找非 RC 内核还是 RC 内核?由于我不知道这些细节,我假设您指的是最新的非 RC 主线内核,目前是 4.5。

对于内核 4.5,您所要做的就是浏览4.5 git 树向下驱动程序/scsi/fnic看看fnic.h:

#define DRV_NAME            "fnic"
#define DRV_DESCRIPTION     "Cisco FCoE HBA Driver"
#define DRV_VERSION         "1.6.0.17a"

虽然内核 4.5 的发布距离您提出问题的时间相距甚远,但此处描述的相同技术将适用于更接近您的问题时间范围的内核,例如内核3.17或者内核3.18

相关内容