Axe*_*ine 6 linux linux-kernel
对于此内核版本字符串(在启动时显示):
Linux版本3.12.18 (vagrant @ vagrant-ubuntu- trusty -64)(gcc版本4.8.2(Ubuntu 4.8.2-19ubuntu1))#1 SMP 2014年5月1日星期四18:56:23 UTC
如何将粗体部分删除或自定义为内核构建的一部分?
内核仅通过 uname 调用向用户空间提供以下信息。您只能在自定义的 uname 二进制文件/内核中看到 gcc 版本gcc 版本 4.8.2 (Ubuntu 4.8.2-19ubuntu1)。
struct utsname {
char sysname[]; /* Operating system name (e.g., "Linux") */
char nodename[]; /* Name within "some implementation-defined
network" */
char release[]; /* Operating system release (e.g., "2.6.28") */
char version[]; /* Operating system version */
char machine[]; /* Hardware identifier */
#ifdef _GNU_SOURCE
char domainname[]; /* NIS or YP domain name */
#endif
};
Run Code Online (Sandbox Code Playgroud)
Fedora/Redhat 不显示编译器信息。
[root@Shash Sasi]# uname -a
Linux Shash 3.13.10-200.fc20.x86_64 #1 SMP Mon Apr 14 20:34:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
vagrant @vagrant-ubuntu-trusty-64看起来 EXTRAVERSION 是内核主 makefile。
VERSION = 3
PATCHLEVEL = 15
SUBLEVEL = 0
EXTRAVERSION = -rc3
Run Code Online (Sandbox Code Playgroud)
在 init/version.c 中:
const char linux_banner[] =
"Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@"
LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n";
const char linux_proc_banner[] =
"%s version %s"
" (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ")"
" (" LINUX_COMPILER ") %s\n";
Run Code Online (Sandbox Code Playgroud)
另请参阅 fs/proc/version.c