4.11をベースにしたカスタムカーネルを構築しています(Mintx64の場合)。動作することを証明するために、すでにコンパイルしてインストールしています。今、私はいくつかのファイルにいくつかの小さな変更を加えました(ドライバーとネットサブシステムでは、これが最初にカスタムカーネルをコンパイルする必要がある理由です!)
次に、変更したカーネルをビルドします。しかし走ると
fakeroot make -j5 deb-pkg LOCALVERSION=myname KDEB_PKGVERSION=1
ビルドシステムは、すべての負荷を「クリーン」にすることから始まるように見えるので、すぐに停止しました。残念ながら、私が使用しているコンピューターは優れたCPUに恵まれておらず、ゼロから構築するのに何時間もかかります。したがって、可能であればもう一度やり直すことは避けたいです。
すべてを「クリーン」にせずに増分ビルドのみを作成することは可能ですか、それともカーネルビルドシステムの要件ですか?
私が得た出力は:
CHK include/config/kernel.release
make clean
CLEAN .
CLEAN Arch/x86/lib
...
make clean
はdeb-pkg
ターゲット専用です。 scripts/package/Makefile
をご覧ください。
deb-pkg: FORCE
$(MAKE) clean
$(call cmd,src_tar,$(KDEB_SOURCENAME))
$(MAKE) KBUILD_SRC=
+$(call cmd,builddeb)
bindeb-pkg: FORCE
$(MAKE) KBUILD_SRC=
+$(call cmd,builddeb)
代わりにbindeb-pkg
をビルドすると、クリーンアップは行われません。とにかく、おそらくソースパッケージは必要ありません。
ソースtarball内のビルドアーティファクトをtarにしたくないので、それはクリーンだと思います。
make-kpkg
によってインストールされる別のツールapt-get install kernel-package
を使用して、それらのdebパッケージを作成してみることができます。次に例えば
make-kpkg --rootcmd=fakeroot --initrd --uc --us -j2 kernel_image kernel_headers
このコマンドは、毎回make clean
を実行しないでください。
これを修正するには、deb-pkgコマンドのmakefileに移動し、スクリプトから「make clean」を削除します。これはビルドに悪影響を及ぼさないようで、カスタムカーネルを1〜2週間問題なく実行しています。 YMMV!