linux内核启动时,会打印内核版本和构建器,以及工具链信息。就像下面这样:
Booting Linux on physical CPU 0
Linux version 3.4.24 (whobuilderthis@cl-builder23)
那么如何获取构建器whobuilderthis
字符串(使用shell)?它存储在哪里?提前致谢。
linux内核启动时,会打印内核版本和构建器,以及工具链信息。就像下面这样:
Booting Linux on physical CPU 0
Linux version 3.4.24 (whobuilderthis@cl-builder23)
那么如何获取构建器whobuilderthis
字符串(使用shell)?它存储在哪里?提前致谢。
您可以查询/proc/version
哪个应该包含构建器字符串。
shell@android:/ $ cat /proc/version
Linux version 3.0.31-g9f818de (android-build@vpbs1.mtv.corp.google.com) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #1 SMP PREEMPT Wed Nov 28 11:20:29 PST 2012
dmesg
给出内核日志,所以你应该能够从那里grep
/sed
它:
dmesg | grep 'Linux version ' | sed 's/[^(]*(\([^)]*\)).*/\1/'
(有更聪明的方法可以做到这一点。)
根据文档/kbuild/kbuild.rst:
这两个变量允许覆盖在引导期间和 /proc/version 中显示的 user@host 字符串。默认值分别是 whoami 和 host 命令的输出。
所以“/proc/version”会输出当前运行内核的结果。如果要更改内容,则需要在内核构建机器上覆盖上述 2 个变量。