buildroot - 如何更改内核版本字符串

Posted

技术标签:

【中文标题】buildroot - 如何更改内核版本字符串【英文标题】:buildroot - how to change kernel version string 【发布时间】:2012-10-06 07:59:10 【问题描述】:

我在带有 buildroot 和 Armstrong linux (Linux4sam) 的 SAM9G25 EK 板上工作。 我的脚本正在创建 linux 版本“2.6.39+”,而这个“+”令人困惑(/lib/modules 文件夹等)。我想删除它。我发现只有两个文件 .uImage.cmd 和 kernel.release 包含这个字符串,但都生成了。

这个字符串是在哪里创建的?

【问题讨论】:

【参考方案1】:

你有.config?在那里查找分配给CONFIG_LOCALVERSION 的值。

要在内核版本中没有指定本地版本,请删除CONFIG_LOCALVERSION 或通过在包含它的行开头以# 将其注释掉。

默认为:

#CONFIG_LOCALVERSION is not set

【讨论】:

不幸的是 CONFIG_LOCALVERSION="" #CONFIG_LOCALVERSION_AUTO 没有设置 CONFIG_LOCALVERSION="" 更改为#CONFIG_LOCALVERSION is not set。 @Bartlomiej Grzeskowiak【参考方案2】:

在这种情况下,主要原因是: 脚本/setlocalversion 行 >170:

# append a plus sign if the repository is not in a clean
# annotated or signed tagged state (as git describe only
# looks at signed or annotated tags - git tag -a/-s) and
# LOCALVERSION= is not specified
if test "$LOCALVERSION+set" != "set"; then
    scm=$(scm_version --short)
    res="$res$scm:++"
fi

我把这部分注释掉了。

【讨论】:

所以你在假装是 2.6.39 而不是。 所以在运行 make 之前设置 LOCALVERSION(即:export LOCALVERSION="")会完成同样的事情。从脚本中,“touch .scmversion”也可以工作。

以上是关于buildroot - 如何更改内核版本字符串的主要内容,如果未能解决你的问题,请参考以下文章

为旧内核设置 buildroot

ARM内核defconfig的buildroot

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

Buildroot构建指南——Linux内核

如何修改Linux内核来改变uname返回的版本字符串?

buildroot 不考虑配置更改