make-kpkg和make deb-pkg之间的区别


8

我想知道make-kpkg和之间的确切区别make deb-pkg这个问题问的差不多,但没有令人满意的答案。以前我在用

make -j `getconf _NPROCESSORS_ONLN` deb-pkg

编译内核源代码树并生成header + kernel-image debian软件包。我发现它非常慢,因为要在我的第二代Intel i3 CPU上编译需要1个多小时。然后我发现另一种使用方法make-kpkgdeb-pkg以前使用的方法快5-6倍。我运行的代码

fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers  -j `getconf _NPROCESSORS_ONLN`

并且只需要10-15分钟即可编译并生成deb软件包。在这两个编译过程中,工作都被划分了,_NPROCESSORS_ONLN那么有什么区别呢?提前致谢。


2
make-kpkg由该脚本编写者(很可能是那些Debian人士)make deb-pkg维护,并由内核人员维护。Debian人士可能了解更多。
Arthur2e5

1
此外,您命令中的反引号在stackexchange中失败。可以将两个反引号引起-j $(getconf blah)来,或者使用代替-j `getconf blah`
Arthur2e5

@ Arthur2e5,正确。此外,当涉及到整合linux-image-*.deblinux-headers-*.deb等进入分布,make-kpkg工具更有可能被更新,以利用其他内核相关佣工在发行版(如dkmsupdate-initramfs等)。内核Makefile deb-pkg目标可能只有在中断的情况下才能进行。
cas 2015年

顺便说一句,仅二进制软件包的最快方法就是bindeb-pkg目标。
pevik '19

Answers:


6

make-kpkg已退休,Debian的官方方式是make deb-pkg
官方的Debian内核手册使用make deb-pkg

make-kpkg包含在wheezyjessie中,但是Stretch(电流稳定)仅包含在powerpc中

在破坏力(测试)中不再支持Powerpc,并且毫无疑问,文件名包含的唯一命中项make-kpkgzsh自动完成信息文件

这将清楚地表明Debian的首选之一。

(但是,如果您要测试什么有效,什么无效,则要大量重新编译,您可能首先要删除“ make clean” scripts/packages/Makefile。毕竟,即使make-kpkg的目的也是要通过有效的工作来创建Debian软件包。内核源代码和配置,而不是内核编程和调试。)


1
FYI kernel-package所属的FYI 已于2017年6月make-kpkg 从测试删除,但在同一个月再次添加到不稳定测试中。更多信息:tracker.debian.org/pkg/kernel-package。但是我同意最好使用make deb-pkg
pevik
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.