Linux-Mint

在沒有“乾淨”的情況下重新建構 Linux 核心

  • October 23, 2018

我正在建構一個基於 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 中壓縮建構工件。

您可以嘗試使用不同的工俱生成這些deb包,該工具make-kpkgapt-get install kernel-package. 然後例如

make-kpkg --rootcmd=fakeroot --initrd --uc --us -j2 kernel_image kernel_headers

該命令不應該make clean每次都執行一次。

引用自:https://unix.stackexchange.com/questions/368864