我正在尝试从Linus Torvalds的git安装最新的内核,即版本3.16-rc7。我按照以下命令创建了一个新分支:
git checkout -b v_3_16 v3.16-rc7
然后我在分支机构v_3_16上结帐并触发以下命令
make menuconfig
并检查选项CONFIG_LOCALVERSION_AUTO
,因为我需要更新版本字符串。
但我无法理解为什么这会将“+”或“-dirty”(当禁用CONFIG_LOCALVERSION_AUTO时)附加到版本字符串。
我已经使用git commit -a
检查了未经修改的更改,但它没有提交任何内容。
答案 0 :(得分:12)
如果正在使用" -dirty"构建Linux内核映像。在版本字符串的末尾,这只是意味着尚未提交源目录中的修改。使用git status
检查未提交的文件。
当您看到脏字符串时,它会将内核版本字符串与最后abbreviated commit id + dirty
附加到内核版本。
您可以使用上面的Git命令报告已修改,已删除或已添加的文件。您应该将这些更改提交到树,无论它们是否将被保存,导出或使用。提交更改后,您需要重建内核。
要强制提取并提交所有此类待处理更改,请输入以下内容:
$ git add .
$ git commit -s -a -m "getting rid of -dirty"
或者,使用make -j2 LOCALVERSION="-customstring"
获取自定义字符串
答案 1 :(得分:6)
“在内核源代码的根目录中创建一个空的.scmversion文件。”