9.7. Wenn etwas schiefgeht

Es gibt vier Hauptfehlerquellen beim Erstellen eines angepassten Kernels:

config verursacht Fehler:

Wenn config(8) fehlschlägt, liegt vermutlich ein einfacher Fehler vor. Glücklicherweise gibt config(8) die Zeilennummer der Fehlerstelle an. Beispielsweise könnten Sie folgende Fehlermeldung sehen:

config: line 17: syntax error

Vergleichen Sie die angegebene Zeile mit GENERIC und stellen Sie sicher, dass das Schlüsselwort in Zeile 17 richtig geschrieben ist.

make verursacht Fehler:

Wenn make misslingt, liegen meistens Fehler in der Konfigurationsdatei vor, die aber nicht schwerwiegend genug für config(8) waren. Überprüfen Sie die Konfiguration und wenn Sie keinen Fehler entdecken können, schicken Sie eine E-Mail mit der Kernelkonfiguration an die Mailingliste 'Fragen und Antworten zu FreeBSD' .

Der Kernel bootet nicht:

Wenn der neue Kernel nicht bootet oder die Geräte nicht erkannt werden, ist das noch kein Grund zur Panik. Glücklicherweise besitzt FreeBSD einen exzellenten Mechanismus zur Wiederherstellung nach dem Einsatz inkompatibler Kernel. Wählen Sie einfach den zu bootenden Kernel im FreeBSD Bootloader aus. Dazu wählen Sie im Bootmenü die Option Escape to a loader prompt. Danach geben Sie am Prompt boot kernel.old oder den Namen eines anderen Kernels ein, der sauber bootet. Bei der Rekonfiguration eines Kernels empfiehlt es sich immer einen Kernel bereit zu halten, der garantiert bootet.

Nun kann die Konfiguration noch einmal überprüft und der Kernel neu kompiliert werden. Dazu ist /var/log/messages sehr nützlich, da hier sämtliche Kernelmeldungen von jedem erfolgreichen Bootvorgang gespeichert werden. dmesg(8) gibt die Kernelmeldungen vom letzten Bootvorgang aus.

Anmerkung:

Wenn Sie Probleme beim Kernelbau bekommen, heben Sie sich immer einen GENERIC oder einen anderen Kernel, der garantiert bootet, auf. Der Name dieses Kernels sollte so gewählt sein, dass er beim nächsten Bau nicht überschrieben wird. Verlassen Sie sich nicht auf kernel.old, da dieser Kernel durch den zuletzt installierten Kernel, der vielleicht schon kaputt war, während der Installation ersetzt wird. Kopieren Sie den funktionierenden Kernel so schnell wie möglich nach /boot/kernel. Ansonsten funktionieren Kommandos wie ps(1) nicht. Benennen Sie dazu einfach das Verzeichnis des funktionierenden Kernels um:

# mv /boot/kernel /boot/kernel.bad
# mv /boot/kernel.good /boot/kernel
Der Kernel ist in Ordnung, aber ps geht nicht mehr:

Wenn Sie eine andere Version des Kernels installiert haben als die, mit der Ihre Systemwerkzeuge gebaut wurden (beispielsweise einen -CURRENT-Kernel auf einem -RELEASE-System), werden Programme wie ps(1) und vmstat(8) nicht mehr funktionieren. Um dies zu beheben, sollten Sie das komplette System neu bauen und installieren. Achten Sie darauf, dass die Quellen, aus denen das System gebaut wird, zum installierten Kernel passt. Das ist ein Grund, warum man nie einen Kernel, der nicht zur Systemversion passt, benutzen sollte.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.

Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.