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

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

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

【问题讨论】:

    标签: linux-kernel release buildroot


    【解决方案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”也可以工作。
    猜你喜欢
    • 1970-01-01
    • 2015-04-25
    • 2018-12-23
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 2013-10-22
    • 2015-08-05
    • 1970-01-01
    相关资源
    最近更新 更多