
Aufgabe: Erstellen Sie einen benutzerdefinierten Ubuntu-Kernel aus Git-Quellen (in meinem Fall hwe-branch).
Kurze Zusammenfassung:
Ich möchte einen von den Build-Skripten gemeldeten Fehler beheben und dann nur den letzten Kompilierungs-/Verpackungsschritt wiederholen, der beim Kompilieren eines benutzerdefinierten Kernels fehlgeschlagen ist.
Längere Problembeschreibung:
Ich möchte wissen, ob es möglich ist, mit der Erstellung eines benutzerdefinierten Kernels fortzufahren, ohne immer wieder alles von Grund auf neu erstellen/kompilieren zu müssen. Soweit ich weiß, gibt es (zumindest für Xenial 16.04) einige Makefiles, die ./debian/rules.de
die gesamte Kernel-Kompilierungsarbeit übernehmen.
Nachdem ich jedoch herausgefunden habe, warum ein bestimmter Kompilierungs-/Paketierungsschritt fehlgeschlagen ist, und das Problem dann behoben habe (z. B. falsche Proxy-Konfiguration und daher fehlgeschlagene Installation von SPL-DKMS aus einem Online-Repo), möchte ich nach dem letzten erfolgreichen Schritt fortfahren.
Ich habe versucht, die verantwortlichen Teile im Makefile zu identifizieren (in den meisten Fällen war es ./xenial/debian/rules.d/2-binary-arch.mk
) und habe versucht, die eigentliche Kompilierung, die am längsten dauert (der Teil, der mit beginnt), auszukommentieren # Do the actual build, including image and modules)
.
Leider scheint diese Strategie nicht zu funktionieren. Das Erstellen des Kernels schlägt später immer aus Gründen fehl, die über meine Fähigkeiten zur Erstellung eines Linux-Kernels hinausgehen. Häufig wird bei einer Ausführung make mrproper
auch das ./debian
Unterverzeichnis mit den Build-Skripten gelöscht, wodurch die gesamte Build-Umgebung funktionsunfähig wird.
Ist es möglich, aufgrund kleinerer Probleme, die leicht zu beheben sind, eine Wiederholung der Kompilierung des gesamten Kernels zu vermeiden?