Wie kann ich den Kernel nach dem Ändern der Konfiguration schnell neu kompilieren?

7

Ich versuche, ein Suspend-Problem auf meinem Dell Inspiron 600m zu beheben. Ich denke, das Problem ist, dass die Videotreibermodule nicht richtig neu geladen werden. Also werde ich versuchen, die Videotreiber in den eigentlichen Kernel zu kompilieren, anstatt sie als externe Module zu behalten. Ich möchte nur wissen, ob ich vom Laufen wegkommen kann:

fakeroot debian/rules clean

vor dem Erstellen des Kernels mit:

skipabi=true skipmodule=true fakeroot debian/rules binary-core2

Dabei ist core2 mein benutzerdefinierter konfigurierter Kernel. Dies wird funktionieren und ich bekomme ein sauberes Kernel-Paket, das ich kompilieren kann, aber das Kompilieren kann auf meinem Computer bis zu 3 Stunden dauern. Daher möchte ich nur das neu erstellen, was ich brauche, und versuchen, einige der * .o-Dateien zu behalten Ich kann sie also einfach verknüpfen, anstatt sie neu zu kompilieren.

Vielen Dank

Spinlock
quelle

Antworten:

4

Ja, Sie können die speziellen Stempeldateien entfernen, debian/stamps/stamp-build-*bevor Sie mit dem nächsten Build beginnen (anstatt das Ziel "sauber" zu verwenden). Bei bestimmten Änderungen müssen Sie möglicherweise auch die debian/stamps/stamp-prepare-*Dateien entfernen .

Wenn diese Stempeldateien nicht vorhanden sind, versucht der Build, die Teile des Builds für den in der debian/rulesDatei definierten Stempel erneut zu verarbeiten .

Wenn Sie mehrere Prozessoren auf Ihrem System haben, können Sie auch Ihren Build durch Starten der Befehlszeile mit parallelisieren , DEB_BUILD_OPTIONS=parallel=Nwo Ndie Anzahl der CPUs Sie haben. (Einige Leute schlagen vor, die Anzahl der CPUs plus 1 zu verwenden.) Um die Anzahl der CPUs schnell zu ermitteln (ohne sie zu zählen /proc/cpufino), müssen Sie den Befehl ausführen getconf _NPROCESSORS_ONLN.

Zum Beispiel:

DEB_BUILD_OPTIONS=parallel=$(getconf _NPROCESSORS_ONLN) skipabi=true skipmodule=true fakeroot debian/rules binary-core2
Kees Cook
quelle