私は間の正確な違いを知っているしたいmake-kpkg
としmake deb-pkg
。この質問はほとんど同じことを尋ねますが、満足のいく答えはありません。以前は使用していた
make -j `getconf _NPROCESSORS_ONLN` deb-pkg
カーネルソースツリーをコンパイルし、header + kernel-image debianパッケージを生成します。第2世代Intel i3 CPUでコンパイルするのに1時間以上かかるため、非常に遅いことがわかりました。次に、以前に使用した方法make-kpkg
よりも5〜6倍速い別の方法を見つけましたdeb-pkg
。私が実行するコード
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers -j `getconf _NPROCESSORS_ONLN`
また、debパッケージをコンパイルして生成するのに必要な時間はわずか10〜15分です。どちらのコンパイルプロセスでも、ジョブが分割されるため_NPROCESSORS_ONLN
、この違いは何ですか?前もって感謝します。
-j $(getconf blah)
代わりに使用します-j `getconf blah`
。
linux-image-*.deb
そしてlinux-headers-*.deb
分布になど、make-kpkg
ツールがはるかに可能性の高いディストリビューション(例えば、他のカーネル関連のヘルパーを利用するように更新されるdkms
とupdate-initramfs
、他)。カーネルMakefile
deb-pkg
ターゲットは、壊れた場合にのみ機能します。
bindeb-pkg
ターゲットです。
make-kpkg
そのスクリプト作成者(おそらくDebianの人々)make deb-pkg
によって保守されており、カーネルの人たちによって保守されています。Debianの人々はもっと詳しいかもしれません。