【问题标题】:How to change version string of the kernel?如何更改内核的版本字符串?
【发布时间】:2015-04-25 10:15:44
【问题描述】:

我对 Linux 很陌生,对构建/编译自己的内核也很陌生。对于初学者,我只是想弄清楚如何更改内核的版本字符串。例如,当我执行 uname -a 时,它会打印出“Linux localhost.localdomain 3.11.10-100.fc18.i686”。我想自定义它,但我不确定要编辑哪个文件。我知道它一定是我的内核目录中的某个文件,但我一直在经历它们,但没有运气。任何帮助都会很棒!

【问题讨论】:

    标签: linux kernel version fedora uname


    【解决方案1】:

    在顶层 Makefile 的顶部,有四行

    VERSION = 3
    PATCHLEVEL = 18
    SUBLEVEL = 7
    EXTRAVERSION =
    

    当然,不同内核版本的值是不同的。这些用于构建版本字符串,因此在构建内核之前更改它们会更改您构建的内核的版本字符串。

    此外,还有一个配置选项CONFIG_LOCALVERSION,可以在make menuconfig 中的General Setup -> Local version - append to kernel release 下找到。

    【讨论】:

    • 好吧,我找到了那个文件。但是出于某种原因, uname -a 显示的内容与 makefile 显示的内容不同。另外,EXTRAVERSION 是我想要附加到末尾的吗?
    • Fedora 编译他们的内核时将EXTRAVERSION 设置为100.fc18.i686。更改内核源代码树中的 makefile 不会影响正在运行的内核的版本字符串,它会影响您从这些源构建的内核的版本字符串。
    • 或者他们可能使用了CONFIG_LOCALVERSION,可以在常规设置 -> 本地版本下的make menuconfig 中找到。
    • 好吧,我明白了。是的,我还没有构建自定义内核,我想如果我在源代码树中并做了 uname -a 它会以此为基础。我刚刚更改了内核源代码树中的 EXTRAVERSION。现在正在编译,完成后会更新。谢谢!
    • 好吧,它已编译,但名称仍返回正在运行的内核,而不是我正在构建的内核。这是为什么呢?
    猜你喜欢
    • 2012-10-06
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 2015-12-23
    • 2013-10-22
    • 2015-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多