Linux 内核 : Kernel version string appended with either '' +"or "-dirty"

标签 linux git linux-kernel

我正在尝试从 Linus Torvalds 的 git 安装最新的内核,即版本 3.16-rc7。我使用以下命令创建了一个新分支: git checkout -b v_3_16 v3.16-rc7 然后我在分支 v_3_16 上 checkout 并触发以下命令 make menuconfig 并检查选项 CONFIG_LOCALVERSION_AUTO 因为我需要更新版本字符串。 但我不明白为什么这会将“+”或“-dirty”(当禁用 CONFIG_LOCALVERSION_AUTO 时)附加到版本字符串。 我已经使用 git commit -a 检查了未提交的更改,但它没有说明要提交。

最佳答案

如果构建 Linux 内核镜像时在版本字符串末尾带有“-dirty”,这仅表示源目录中的修改尚未提交。使用 git status 检查未提交的文件。

当您看到脏字符串时,它会将带有最后一个abbreviated commit id + dirty 的内核版本字符串附加到内核版本。

您可以使用上述 Git 命令来报告修改、删除或添加的文件。您应该将这些更改提交给树,无论它们是否将被保存、导出或使用。提交更改后,您需要重建内核。

要强制拾取并提交所有此类待定更改,请输入以下内容:

 $ git add .
 $ git commit -s -a -m "getting rid of -dirty"

或者,使用 make -j2 LOCALVERSION="-customstring" 获取自定义字符串

关于Linux 内核 : Kernel version string appended with either '' +"or "-dirty",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25090803/

相关文章:

git - 使用 git merge,如何将错误修复 merge 到多个长期分支中?

linux - 如何从 Linux 内核镜像获取 .config?

c++ - __xstat 动态符号解决 64 位错误

c - GCC 4 中的 in6_addr

python - 最小化到托盘,陷入循环,python gtk

git - 删除目标分支后,现有 pull 请求会发生什么情况?

node.js - 如何防止git commit删除文件

multithreading - linux内核模块中内核线程之间的通信

linux-kernel - 代码(.text)不是只执行? .rodata 是可执行的吗?

linux - 如何在 Linux 中配置仅发送邮件服务器,该服务器将为同一网络中的多个应用程序/Web 服务器接受并执行电子邮件传递