在内核空间中获取完整的内核版本
Posted
技术标签:
【中文标题】在内核空间中获取完整的内核版本【英文标题】:fetch full kernel version in kernel space 【发布时间】:2017-11-24 18:25:02 【问题描述】:内核定义了两个宏LINUX_VERSION_CODE
和KERNEL_VERSION
,可以用来检查内核版本。但是它不允许检查版本字符串是否有EXTRAVERSION
后缀,例如4.11.0-rc8
。
我需要在编译时进行此类检查。除了上面提到的宏,我还能看什么?
谢谢。
【问题讨论】:
【参考方案1】:你可以阅读include/config/kernel.release
,就像内核的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会导出内核的版本信息,也许你可以使用它。
【讨论】:
以上是关于在内核空间中获取完整的内核版本的主要内容,如果未能解决你的问题,请参考以下文章