有没有办法确定内核模块是针对哪个内核版本编译的?

mat*_*975 6 drivers kernel-modules

我最近一直在使用一些用于嵌入式设置的交叉工具来创建内核模块。

将来能够识别这些模块所针对的内核版本对我很有帮助。我在网上找不到关于这方面的信息,所以我开始认为这可能是不可能的。

所以我的问题是是否有任何命令行实用程序可以确定编译 *.ko 文件所针对的内核版本标头?

SHW*_*SHW 12

执行命令modinfo <kernel_module_name>,寻找vermagic

shw@shw:/tmp # modinfo btrfs
文件名:/lib/modules/3.13.0-36-generic/kernel/fs/btrfs/btrfs.ko
许可证:GPL
别名:devname:btrfs-control
别名:char-major-10 -234
别名:fs-btrfs srcversion:EA2C07F0B841AE2A6D8F91F
取决于:libcrc32c,raid6_pq,xor
intree: Y
vermagic: 3.13.0-36-generic SMP mod_unload modversions 686
: == a FFs9signer:
Mathegra_signer:A FFs9signer :11:B8:55:51:6A:72:98:65:9D:4E:3F:BB:76:C5:4A:D3:30
sig_hashalgo: sha512