Ich erstelle einen benutzerdefinierten Kernel basierend auf 4.11 (für Mintx64, wenn es darauf ankommt). Ich habe es bereits kompiliert und installiert, um zu beweisen, dass es funktioniert. Jetzt habe ich ein paar kleine Änderungen an einigen Dateien vorgenommen (in den Treiber- und Netz-Subsystemen muss ich deshalb zuerst einen benutzerdefinierten Kernel kompilieren!)
Jetzt möchte ich den modifizierten Kernel erstellen. Jedoch wenn ich renne
fakeroot make -j5 deb-pkg LOCALVERSION=myname KDEB_PKGVERSION=1
Das Build-System scheint damit zu beginnen, eine ganze Menge Dinge zu "säubern", also habe ich es schnell gestoppt. Leider ist der von mir verwendete Computer nicht mit einer guten CPU gesegnet und es dauert viele Stunden, ihn von Grund auf neu zu erstellen. Deshalb würde ich es lieber vermeiden, wenn möglich!
Ist es möglich, nur einen inkrementellen Build zu erstellen, ohne dass alles "sauber" ist, oder ist dies eine Anforderung des Kernel-Build-Systems?
Die Ausgabe, die ich bekam, war:
CHK include/config/kernel.release
make clean
CLEAN .
CLEAN arch/x86/lib
...
quelle
Antworten:
Das
make clean
ist nur für dasdeb-pkg
Ziel. Schauen Sie sich anscripts/package/Makefile
:Wenn Sie stattdessen das erstellen
bindeb-pkg
, wird es nicht sauber. Sie brauchen die Quellpakete wahrscheinlich sowieso nicht.Ich vermute, dass es eine Bereinigung durchführt, weil es keine Build-Artefakte im Quell-Tarball aufbauen möchte.
quelle
Sie können versuchen, diese Deb- Pakete mit einem anderen Tool zu erstellen,
make-kpkg
das von installiert wirdapt-get install kernel-package
. Dann zum BeispielDieser Befehl sollte nicht
make clean
jedes Mal ausgeführt werden.quelle
Ich habe dies behoben, indem ich in das Makefile für den Befehl deb-pkg gegangen bin und "make clean" aus dem Skript entfernt habe. Dies schien keine negativen Auswirkungen auf den Build zu haben, und ich habe den benutzerdefinierten Kernel nun seit ein oder zwei Wochen ohne Probleme ausgeführt. YMMV!
quelle