如何找到已编译内核模块的版本?

Jac*_*ble 8 linux kernel-module

我处于一种情况,通过查询加载的模块或.ko文件来查找加载的内核模块的版本非常方便.

有没有一种标准的方法可以在深入挖掘源代码的情况下完成这项工作?

Sda*_*ons 8

$ apropos modinfo
modinfo              (8)  - display information about a kernel module
$ modinfo cpuid.ko
filename:       cpuid.ko
author:         H. Peter Anvin <hpa@zytor.com>
description:    x86 generic CPUID driver
license:        GPL
vermagic:       2.6.37 SMP preempt mod_unload PENTIUM4 gcc-4.4.5
depends:
Run Code Online (Sandbox Code Playgroud)

  • 虽然这个答案解决了我的问题,但我相信 vermagic 值反映了模块编译所针对的内核版本,而不是模块的版本。为了测试这一点,我尝试了“modprobe nvidia”,因为 nvidia 不包含在内核中,因此必须具有不同的版本号。“modprobe nvidia”返回 vermagic 值的内核版本。 (2认同)