【问题标题】:fetch full kernel version in kernel space在内核空间中获取完整的内核版本
【发布时间】:2017-11-24 18:25:02
【问题描述】:

内核定义了两个宏LINUX_VERSION_CODEKERNEL_VERSION,可以用来检查内核版本。但是它不允许检查版本字符串是否有EXTRAVERSION 后缀,例如4.11.0-rc8

我需要在编译时进行此类检查。除了上面提到的宏,我还能看什么?

谢谢。

【问题讨论】:

    标签: linux linux-kernel version


    【解决方案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会导出内核的版本信息,也许你可以使用它。

    【讨论】:

      猜你喜欢
      • 2016-10-06
      • 2014-09-03
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 2010-11-27
      • 2012-05-12
      相关资源
      最近更新 更多