make-kpkgとmake deb-pkgの違い


8

私は間の正確な違いを知っているしたい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、この違いは何ですか?前もって感謝します。


2
make-kpkgそのスクリプト作成者(おそらくDebianの人々)make deb-pkgによって保守されており、カーネルの人たちによって保守されています。Debianの人々はもっと詳しいかもしれません。
Arthur2e5 2015年

1
さらに、コマンド内のこれらのバックティックは、stackexchangeで失敗します。これらのコマンドを2つのバッククォートで囲むか、の-j $(getconf blah)代わりに使用します-j `getconf blah`
Arthur2e5 2015年

@ Arthur2e5、正解。それは統合に来るときも、linux-image-*.debそしてlinux-headers-*.deb分布になど、make-kpkgツールがはるかに可能性の高いディストリビューション(例えば、他のカーネル関連のヘルパーを利用するように更新されるdkmsupdate-initramfs、他)。カーネルMakefile deb-pkgターゲットは、壊れた場合にのみ機能します。
cas

ところで、バイナリのみのカーネルパッケージの最速の方法がbindeb-pkgターゲットです。
pevik

回答:


6

make-kpkg(廃止予定)であり、公式のDebian方法はmake deb-pkgです。
公式のDebianカーネルハンドブックではを使用していmake deb-pkgます。

make-kpkgwheezyjessieに含まれていますが、ストレッチ(現在の安定版)にはpowerpcのみが含まれてます。

PowerPCは、もはや(テスト)バスターでサポートされていない、と当然含むファイル名のための唯一のヒットがmake-kpkgあるのzshのための自動補完情報ファイル

これは、どちらがDebianの推奨オプションであるかを明確に示します。

(ただし、何が機能して何が機能しないかをテストしていて、たくさん再コンパイルする場合はscripts/packages/Makefile、最初のステップとして「make clean」を削除することをお勧めします。結局のところ、make-kpkgでさえ、動作するパッケージからDebianパッケージを作成することを目的としていますカーネルのソースと構成。カーネルのプログラミングとデバッグではありません。)


1
FYI kernel-package属しその中には、make-kpkg テストから削除されました 2017年6月に、しかし不安定に再び追加し、テストの同じ月を。詳細:tracker.debian.org/pkg/kernel-package。しかし、私はを使用する方が良いことに同意しますmake deb-pkg
pevik
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.