Hallo liebe Leute, bislang habe ich immer SuSE-Standard-Kernel eingestetzt. Zwar habe ich schon Kernel übersetzt, doch habe ich bislang wohl immer Glück gehabt, dass alles gut gegangen ist. Nun ist die Zeit gekommen, in der ich neue Funktionalität brauche. Die Gelegenheit möchte ich dazu nutzen, ein paar Dinge (fest eingebaut wie auch Module) zu entfernen und einige zuvor als Module realisierte Funktionen fest einzubauen. Gerne möchte ich den Prozess besser verstehen, deshalb hier ein paar Fragen mit der Hoffnung auf Erklärung: - Wenn ich von Modul auf fest eingebunden umsteige sollte das Modul nicht mehr da sein. Wird es automatisch gelöscht, oder muss ich es von Hand entfernen. Was ist dann, wenn ich nach Fertigstellung des neuen Kernels den dann alten noch mal booten möchte? - Gibt es für jeden Kernel auf dem System für ihn eigene Hilfsdateien wie /etc/modules.conf und /boot/system.map? Welche Dateien gibt es dann sonst noch und was haben die alle für eine Funktion? - Wenn ich eine Fehlermeldung bekomme, wie ... unresolved Symbols...", hat das etwas mit diesen Dateien zu tun und wie löse ich das Problem? - Was macht ein make dep? Was macht ein make clean? Warum führe ich sie vor einem make bzImage auf.? Das Übersetzen braucht irre lange, wie kann ich da Zeit sparen? Vielleicht das make clean weglassen? Viele Grüße Stefan
Stefan Schlörholz wrote:
Nun ist die Zeit gekommen, in der ich neue Funktionalität brauche. Die Gelegenheit möchte ich dazu nutzen, ein paar Dinge (fest eingebaut wie auch Module) zu entfernen und einige zuvor als Module realisierte Funktionen fest einzubauen. Gerne möchte ich den Prozess besser verstehen, deshalb hier ein paar Fragen mit der Hoffnung auf Erklärung:
- Wenn ich von Modul auf fest eingebunden umsteige sollte das Modul nicht mehr da sein. Wird es automatisch gelöscht, oder muss ich es von Hand entfernen. Was ist dann, wenn ich nach Fertigstellung des neuen Kernels den dann alten noch mal booten möchte?
Du solltest zur Beantwortung dieser Frage dringend http://www.dhaller.de/linux/multikernel.html lesen. Danach wird es Dir hoffentlich klar sein - Du solltest den Standard-Kernel und dessen Module erhalten und Dei- nen eigenen Kernel mit einer Unterversion versehen!
- Gibt es für jeden Kernel auf dem System für ihn eigene Hilfsdateien wie /etc/modules.conf und /boot/system.map? Welche Dateien gibt es dann sonst noch und was haben die alle für eine Funktion?
Siehe obige Webseite von David, das Multikernel-Howto.
- Wenn ich eine Fehlermeldung bekomme, wie ... unresolved Symbols...", hat das etwas mit diesen Dateien zu tun und wie löse ich das Problem?
Dann hast Du vermutlich eine fehlerhafte Kernelkonfi- guration. Loesung: Fehlerhafte Kernelkonfiguration finden und abaendern. Manchmal nicht ganz so einfach.
- Was macht ein make dep? Was macht ein make clean? Warum führe ich sie vor einem make bzImage auf.? Das Übersetzen braucht irre lange, wie kann ich da Zeit sparen? Vielleicht das make clean weglassen?
"make dep" erstellt die Abhaengigkeiten im Kernel-Tree vor dem Compilieren und fuehrt noch ein paar andere Dinge aus (mit "make -n dep" kannst Du Dir anschauen was es genau ist, ohne es gleich auszufuehren). "make clean" loescht die Object-Files, so dass diese garan- tiert neu erstellt werden muessen. Theoretisch kannst Du "make clean" weglassen, ABER: gerade beim Kernel ist das gefaehrlich, insbesondere wenn Du Einstellun- gen aenderst in Bezug auf "fest im Kernel" oder "als Modul". "make clean" sorgt eben dafuer, dass die Object-Files neu erstellt werden muessen, und das ist der sichere Weg. Wenn Du nur kleinere Einstellungen aenderst, dann kann das gut funktionieren, ansonsten wuerde ich es eher nicht weglassen. Gruesse, Thomson -- Thomas Hertweck, Dipl.-Geophys., GPI Universitaet Karlsruhe === First they ignore you, then they laugh at you, then === === they fight you, then you win. (M. Ghandi) ===
participants (2)
-
Stefan Schlörholz
-
Thomas Hertweck