/proc/version文件里面的内容:
Linux version 4.14.180-perf (oe-user@oe-host) (clang version 10.0.5 for Android NDK, GNU ld (GNU Binutils) 2.29.1.20180115) #1 SMP PREEMPT Wed Mar 29 18:55:02 CST 2023
/proc/version文件里面记录了如下内容:
1、Linux kernel的版本:Linux version 4.14.180-perf
2、编译者:oe-user@oe-host
3、gcc信息:clang version 10.0.5 for Android NDK
4、ld信息:GNU ld (GNU Binutils) 2.29.1.20180115
5、KBUILD_BUILD_VERSION信息:#1
6、SMP是否支持:SMP
7、PREEMPT是否支持:PREEMPT
8、kernel编译时间:Wed Mar 29 18:55:02 CST 2023
问:那么这些内容是怎么来的呢?
答:由Linux kernel源码的scripts/mkcompile_h文件生成。
整个调用流程如下:
Linux kernel源码目录下的./init/Makefile文件有如下内容:
include/generated/compile.h: FORCE
@$($(quiet)chk_compile.h)
$(Q)$(CONFIG_SHELL) $(srctree)