Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何自定义或删除启动时显示的额外Linux内核版本详细信息?_Linux_Linux Kernel - Fatal编程技术网

如何自定义或删除启动时显示的额外Linux内核版本详细信息?

如何自定义或删除启动时显示的额外Linux内核版本详细信息?,linux,linux-kernel,Linux,Linux Kernel,对于此内核版本字符串(在引导时显示): Linux版本3.12.18(vagrant@vagrant-ubuntu-trusty-64)(gcc版本4.8.2(ubuntu 4.8.2-19ubuntu1))#1 SMP周四5月1日18:56:23 UTC 2014 如何将粗体部分作为内核构建的一部分删除或自定义?内核仅通过uname调用向用户空间提供以下信息。您只能在自定义的uname二进制/内核中查看gcc版本gcc版本4.8.2(Ubuntu 4.8.2-19ubuntu1) 男子2联塞特

对于此内核版本字符串(在引导时显示):

Linux版本3.12.18(vagrant@vagrant-ubuntu-trusty-64)(gcc版本4.8.2(ubuntu 4.8.2-19ubuntu1))#1 SMP周四5月1日18:56:23 UTC 2014


如何将粗体部分作为内核构建的一部分删除或自定义?

内核仅通过uname调用向用户空间提供以下信息。您只能在自定义的uname二进制/内核中查看gcc版本gcc版本4.8.2(Ubuntu 4.8.2-19ubuntu1)

男子2联塞特派团 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
vagrant@vagrant-ubuntu-trusty-64看起来像是内核的主生成文件

VERSION = 3
PATCHLEVEL = 15
SUBLEVEL = 0
EXTRAVERSION = -rc3
在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";
另请参阅fs/proc/version.c,它应该是:

make menuconfig -> General setup -> Local version - append to kernel release

这是
.CONFIG
文件中的
CONFIG\u LOCALVERSION

通过设置以下定义,可以自定义要编辑的部分版本字符串(在启动时查看或通过调用命令
cat/proc/version
):

  • KBUILD\u BUILD\u USER
    更改您的“vagrant”值
  • KBUILD\u BUILD\u HOST
    更改“vagrant-ubuntu-trusty-64”值
您可能还对
KBUILD\u BUILD\u TIMESTAMP
(更改“Thu may 1 18:56:23 UTC 2014”)和
KBUILD\u BUILD\u版本
(更改“#1”)感兴趣



完整的Linux进程横幅在中最终确定。这些定义的值由生成。您可以编辑这些文件中的任何一个,以完全控制您的版本字符串,但您永远不知道这些附加信息何时可能有用;我建议只修改定义。另一个选项是覆盖生成的值。通过这样做,您添加了额外的构建维护,只是为了更改很少查询的值

当然,但这并不能回答我如何改变这一点。记住,我说的第一行是内核在引导时输出的,而不是在系统启动后取消激活(vagrant@vagrant-ubuntu-trusty-64)并检查ubuntu上的uname源代码以找到它的来源。我想如果你编译香草内核,你不会看到这一点。我的构建基于kernel.org的干净下载。EXTRAVERSION是空的,所以它不是空的。在init/version.c中:const char linux_banner[]=“linux版本”UTS_RELEASE”(“linux_COMPILE_BY”@“linux_COMPILE_HOST”)(“linux_编译器”)“UTS_版本”\n;const char linux_proc_banner[]=%s版本%s”(“linux_编译主机”@“linux_编译”)(“linux_编译器”)%s\n@阿克塞尔:评论区很乱,所以我更新了答案。不,不是这个。如果我有一个本地版本-lv,它会打印Linux版本3.12.18-lv(vagrant…我希望有一种方法可以自动存储内核的git提交,但除了自己做
git日志%H
之外,我找不到它:-(
make menuconfig -> General setup -> Local version - append to kernel release