我记得,当我从纯Linux内核源代码树重建图像(不止一次)时,基本上,构建系统只编译已更改的代码,并将它们与之前编译的其他未更改的目标文件逐步链接。
但是,我找不到任何选项来使Ubuntu内核构建系统以相同的方式构建映像。简单地说,改变行需要很长的时间来编译和链接。是否有任何选择,或任何替代做法?
这是我的shell命令,用于以Ubuntu方式构建内核映像。
fakeroot debian/rules -j8 binary-headers binary-generic
我目前的内核源版本如下所示。
3.13.0-XXX-generic
答案 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 但请记住,在少数情况下,此构建可能会产生无法启动的内核,或者根本不会编译,具体取决于您在内核配置中所做的更改。