如何更改内核的版本字符串?
Posted
技术标签:
【中文标题】如何更改内核的版本字符串?【英文标题】: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”。我想自定义它,但我不确定要编辑哪个文件。我知道它一定是我的内核目录中的某个文件,但我一直在经历它们,但没有运气。任何帮助都会很棒!
【问题讨论】:
【参考方案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。现在正在编译,完成后会更新。谢谢!
好吧,它已编译,但名称仍返回正在运行的内核,而不是我正在构建的内核。这是为什么呢?以上是关于如何更改内核的版本字符串?的主要内容,如果未能解决你的问题,请参考以下文章