私は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
...
答え1
これはターゲット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
逆に構築すると、きちんとした作業は行われません。とにかくソースパッケージは必要ないかもしれません。
ソースターボールのビルドアーティファクトを圧縮したくないので、クリーンアップを行うようです。
答え2
あなたはそれを作ることができますデップたとえば、他のツールを使用してインストールされたmake-kpkg
パッケージです。apt-get install kernel-package
make-kpkg --rootcmd=fakeroot --initrd --uc --us -j2 kernel_image kernel_headers
このコマンドをmake clean
毎回実行しないでください。
答え3
deb-pkgコマンドのmakefileに移動し、スクリプトから「make clean」を削除してこの問題を解決しました。これがビルドに悪影響を及ぼさないようで、私は1〜2週間何の問題もなくカスタムカーネルを実行してきました。ええと!