【发布时间】:2013-10-22 03:19:04
【问题描述】:
我正在使用旧 (2.6.33.2) 版本的嵌入式 Linux,并且已被要求更改内核,以便可以区分不同的修补内核映像。目前,uname -v 输出例如"#1 Wed Sep 11 07:07:51 BST 2013。
因此我想对此进行更改,以便任何后续补丁都将#1 部分更改为定义为补丁一部分的修订号(并将日期部分更改为最新内核补丁的日期),但我看不到这是在内核中的哪个位置设置的。
我应该查看哪些文件来执行此操作?
【问题讨论】:
-
也许你的内核源代码树中有一个
.version文件。 -
我很确定您可以在执行 "make menuconfig" 时更改此设置。有一个类似“本地版本字符串”的选项
-
有一个 CONFIG_LOCALVERSION,但这会让你设置 'uname -r' 显示的内容,而不是 'uname -v'。
-
有一个文件
include/generated/compile.h包含 UTS_VERSION 的定义,其中包含时间戳。每次构建内核时都会生成此文件。如果你搜索这个定义,你会发现它在几个地方被用来形成内核的版本字符串。如果您必须更改此时间戳,那么您必须修改使用此定义的源文件并使用您自己的。您可以编辑.version文件以更改您提到的#1部分。
标签: linux linux-kernel version patch uname