如何更改内核版本字符串?

15

我对Linux和编译自己的内核都非常陌生。首先,我想知道如何更改内核版本字符串。例如,当我运行uname -a命令时,它会打印出“Linux localhost.localdomain 3.11.10-100.fc18.i686”。我想自定义这个字符串,但不确定要编辑哪个文件。我知道它肯定是在我的内核目录中的某个文件中,但我一直在浏览它们,但还没有找到。希望能得到帮助!

1个回答

27

在顶层Makefile的顶部,有四行

VERSION = 3
PATCHLEVEL = 18
SUBLEVEL = 7
EXTRAVERSION =

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

此外,在make menuconfig中的General Setup -> Local version - append to kernel release下可以找到一个名为CONFIG_LOCALVERSION的配置选项,该选项将追加到版本字符串中。


好的,我找到了那个文件。但出于某种原因,uname -a显示的内容与makefile显示的不同。此外,EXTRAVERSION是我想要附加到末尾的内容吗? - pfinferno
1
Fedoraзҡ„ејҖеҸ‘дәәе‘ҳдҪҝз”ЁEXTRAVERSIONи®ҫзҪ®дёә100.fc18.i686зј–иҜ‘дәҶ他们зҡ„еҶ…ж ёгҖӮжӣҙж”№еҶ…ж ёжәҗд»Јз Ғж ‘дёӯзҡ„makefileдёҚдјҡеҪұе“ҚжӯЈеңЁиҝҗиЎҢзҡ„еҶ…ж ёзүҲжң¬еӯ—з¬ҰдёІпјҢдҪҶдјҡеҪұе“ҚжӮЁд»Һиҝҷдәӣжәҗд»Јз Ғжһ„е»әзҡ„еҶ…ж ёзүҲжң¬еӯ—з¬ҰдёІгҖӮ - Wintermute
1
或者他们可能已经使用了CONFIG_LOCALVERSION,可以在“make menuconfig”下的General Setup -> Local version中找到。 - Wintermute
好的,我明白了。是的,我还没有构建自定义内核,我想如果我在源代码树中并执行uname -a,它会基于那个版本。我只是更改了内核源代码树中的EXTRAVERSION。现在正在编译,完成后会更新。谢谢! - pfinferno
1
好的,它编译通过了,但名称仍返回正在运行的内核,而不是我正在构建的内核。为什么会这样? - pfinferno

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接