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
...
źródło
Odpowiedzi:
make clean
Jest wyłącznie dodeb-pkg
celu. Spójrz nascripts/package/Makefile
:Jeśli
bindeb-pkg
zamiast 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.
źródło
Możesz spróbować wyprodukować te pakiety deb za pomocą innego narzędzia,
make-kpkg
które jest instalowane przezapt-get install kernel-package
. Na przykładTo polecenie nie powinno działać za
make clean
każdym razem.źródło
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!
źródło