Linuxカーネルを「完全に」再構築しない

Linuxカーネルを「完全に」再構築しない

私は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週間何の問題もなくカスタムカーネルを実行してきました。ええと!

関連情報