Linux 获取内核空间中的完整内核版本

Linux 获取内核空间中的完整内核版本,linux,linux-kernel,version,Linux,Linux Kernel,Version,内核定义了两个宏LINUX\u VERSION\u code和Kernel\u VERSION,可用于检查内核版本。但是,它不允许检查版本字符串是否有EXTRAVERSION后缀,例如4.11.0-rc8 我在编译时需要这样的检查。除了上面提到的宏,我还能看什么 谢谢。您可以阅读include/config/kernel.release,正如kernel的makefile所说: # Read KERNELRELEASE from include/config/kernel.release (if

内核定义了两个宏
LINUX\u VERSION\u code
Kernel\u VERSION
,可用于检查内核版本。但是,它不允许检查版本字符串是否有
EXTRAVERSION
后缀,例如
4.11.0-rc8

我在编译时需要这样的检查。除了上面提到的宏,我还能看什么


谢谢。

您可以阅读
include/config/kernel.release
,正如kernel的makefile所说:

# Read KERNELRELEASE from include/config/kernel.release (if it exists)
KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
在编译过程中,Makefile将导出内核的版本信息,也许您可以使用它