modinfo srcversion:如何从我的源代码生成这个?

Ryl*_*ley 5 module linux-kernel

我有一个linux模块的编译版本,然后我有大约20多种来源的变种.通过各种愚蠢的错误,我已经忘记了哪个版本的源是我用来制作模块的实际版本.

我注意到modinfo <module name>srcversion: <hash>,并且我在某个地方找到了一些解释,说它是"产生模块的源的总和".听起来很完美!

我该怎么做我的模块源来产生这个哈希?

Lon*_*eld 7

srcversion是由定义scripts/mod/modpost程序.我不知道你必须给modpost的确切选项,以便它输出这个字段.它必须类似于scripts/mod/modpost -a -m vmlinux you_module.o(您可以查看scripts/Makefile.modpost确切的选项).然后输出可用drivers/path/to/your_module.mod.c

我建议您将config MODULE_SRCVERSION_ALLy 设置为(在Enable loadable module support子菜单中可用),以便为构建的所有模块自动生成srcversion.然后,您可以在源变量之间切换,使用新的源变体重建内核(仅在第一次构建后重建您的模块),然后直接查看文件MODULE_INFO(srcversion, "<hash>");末尾的字段drivers/path/to/your_module.mod.c以查找所请求的信息.