Ponowne budowanie jądra Linux bez „czystego”


11

Buduję niestandardowe jądro oparte na 4.11 (dla Mintx64, jeśli ma to znaczenie). Już go skompilowałem i zainstalowałem, aby udowodnić, że działa. Teraz wprowadziłem kilka drobnych zmian w kilku plikach (w sterownikach i podsystemach sieciowych, właśnie dlatego muszę skompilować niestandardowe jądro!)

Teraz chcę zbudować zmodyfikowane jądro. Jednak kiedy biegnę

fakeroot make -j5 deb-pkg LOCALVERSION=myname KDEB_PKGVERSION=1 

Wygląda na to, że system kompilacji zaczyna się od „wyczyszczenia” całego zestawu rzeczy, więc szybko go zatrzymałem. Niestety komputer, którego używam, nie ma dobrego procesora i jego budowa zajmuje wiele godzin od zera. Dlatego wolę unikać powtórki, jeśli to możliwe!

Czy jest możliwe wykonanie tylko przyrostowej kompilacji bez „czystego” d, czy jest to wymóg systemu kompilacji jądra?

Otrzymałem wynik:

CHK      include/config/kernel.release
make clean
CLEAN .
CLEAN arch/x86/lib
...

@jc__ zobaczyć wyjście z kompilacji powyżej, nie może natychmiast dowiedzieć się, gdzie makefile do tego celu jest, ale ciągle szukam :)
T Kilney

Odpowiedzi:


12

make cleanJest wyłącznie do deb-pkgcelu. Spójrz na 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)

Jeśli bindeb-pkgzamiast tego zbudujesz , nie zrobi to nic czystego. Prawdopodobnie i tak nie potrzebujesz pakietów źródłowych.

Podejrzewam, że robi porządek, ponieważ nie chce rozpakowywać artefaktów budowania w źródłowym archiwum.


2

Możesz spróbować wyprodukować te pakiety deb za pomocą innego narzędzia, make-kpkgktóre jest instalowane przez apt-get install kernel-package. Na przykład

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

To polecenie nie powinno działać za make cleankażdym razem.


1

Naprawiłem to, wchodząc do pliku makefile dla komendy deb-pkg i usuwając „make clean” ze skryptu. Wydaje się, że nie spowodowało to żadnych złych efektów w kompilacji, a ja korzystam z niestandardowego jądra od tygodnia lub dwóch teraz bez problemów. YMMV!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.