我想为centos 7内核构建我的内核模块 . 但我有一些功能原型的问题 . 它在kernel-3.10.0- 327.36.3.el7 和kernel-3.10.0- 514.el7 中有所不同 . 我知道如何使用Linux Kernel Version Macro Definition . 但我需要检查内核补丁版本和linux ditr . 名称 .
一些正文现在预处理宏用于检查内核的补丁版本 .
我想为centos 7内核构建我的内核模块 . 但我有一些功能原型的问题 . 它在kernel-3.10.0- 327.36.3.el7 和kernel-3.10.0- 514.el7 中有所不同 . 我知道如何使用Linux Kernel Version Macro Definition . 但我需要检查内核补丁版本和linux ditr . 名称 .
一些正文现在预处理宏用于检查内核的补丁版本 .
1 回答
我刚刚找到了一些信息 . 我们可以在内核头文件中使用Makefile中的一些预定义变量 . 例如,在centos 7中,我们有kernel-3.10.0-514.16.1.el7 . 文件/usr/src/kernels/3.10.0-514.16.1.el7.x86_64/Makefile中有变量:
在我们的内核模块Makefile中,我们可以通过-DPATCH_VERSION = $ gcc parametr(或者在centos 7中的示例)将它放在我们的源代码中 . 但需要检查发行版,因为在debian中没有RHEL_RELEASE变量 .
我认为有更好的方法 .