如何在不重新编译任何未更改文件的情况下重建Ubuntu内核源代码?

时间:2014-06-30 12:03:07

标签: ubuntu linux-kernel makefile debian

我记得,当我从纯Linux内核源代码树重建图像(不止一次)时,基本上,构建系统只编译已更改的代码,并将它们与之前编译的其他未更改的目标文件逐步链接。

但是,我找不到任何选项来使Ubuntu内核构建系统以相同的方式构建映像。简单地说,改变行需要很长的时间来编译和链接。是否有任何选择,或任何替代做法?

这是我的shell命令,用于以Ubuntu方式构建内核映像。

fakeroot debian/rules -j8 binary-headers binary-generic

我目前的内核源版本如下所示。

3.13.0-XXX-generic

3 个答案:

答案 0 :(得分:3)

我有同样的问题,但不幸的是我不相信Andreas Bombe的回答是正确的。查看定义deb-pkg的{​​{3}},配方的第一行是$(MAKE) clean

我认为你想要在Makefile中定义下一个目标:bindeb-pkg它做了几乎相同的事情(我认为它没有构建源的tar球)而没有清理。有关详细信息,请参阅Makefile。

答案 1 :(得分:2)

看起来您正在使用Ubuntu的脚本来为分发构建内核包。如果他们像Debian一样,我认为他们会重建一切。

除非您确实需要完全重新创建包,否则不要使用它们。而是使用make -j8 deb-pkg,它将为您构建软件包而不强制make clean

答案 2 :(得分:0)

执行“make bindeb-pkg”只重建内核而不强制make clean 但请记住,在少数情况下,此构建可能会产生无法启动的内核,或者根本不会编译,具体取决于您在内核配置中所做的更改。