Bevor eine angepasste Kernelkonfigurationsdatei erstellt werden kann, muss zuerst der vollständige FreeBSD Quellcodebaum installiert werden.
Falls /usr/src/
nicht existiert oder
leer ist, sind die Kernelquellen nicht installiert. Die Quellen
können mit Subversion und der
Anleitung im Abschnitt A.4, „Benutzen von Subversion“ installiert werden.
Sobald die Quellen installiert sind, können Sie sich einen
Überblick über /usr/src/sys
verschaffen.
Dieses Verzeichnis enthält eine Reihe von Unterverzeichnissen,
einschließlich Verzeichnisse für die unterstützten Architekturen
amd64
, i386
,
ia64
, pc98
,
powerpc
und sparc64
.
Alles in diesen Verzeichnissen ist nur für die jeweilige
Architektur relevant. Der Rest des Codes ist machinenunabhängig
und für alle Architekturen gleich. Jede unterstützte
Architektur hat ein Unterverzeichnis conf
,
das die GENERIC
Kernelkonfigurationsdatei
für diese Architektur enthält.
Bearbeiten Sie GENERIC
nicht direkt.
Kopieren Sie stattdessen die Datei unter einem anderen Namen und
machen dann die Änderungen an dieser Kopie. Traditionell
besteht der Name des Kernels immer aus Großbuchstaben. Wenn Sie
mehrere FreeBSD-Maschinen mit unterschiedlicher Hardware betreuen,
ist es eine gute Idee, die Konfigurationsdatei nach den
Hostnamen der Maschinen zu benennen. In diesem Beispiel wird
eine Kopie der
GENERIC
Kernelkonfigurationsdatei, namens
MYKERNEL
, für die
amd64
-Architektur erstellt:
#
cd /usr/src/sys/
amd64
/conf#
cp GENERIC
MYKERNEL
kann jetzt mit einem Texteditor bearbeitet werden. Der
Standard-Editor ist vi, jedoch steht
mit ee ein weiterer, einfach zu
bedienender Editor bereit.MYKERNEL
Das Format der Konfigurationsdatei ist einfach. Jede Zeile
enthält ein Schlüsselwort, das ein Gerät oder ein Subsystem
repräsentiert, ein Argument und eine kurze Beschreibung.
Jeder Text, der hinter einem #
steht, gilt
als Kommentar und wird ignoriert. Um die Kernel-Unterstützung
für ein Gerät oder Subsystem zu entfernen, muss ein
#
an den Anfang der Zeile, die dieses Gerät
oder Subsystem repräsentiert, gesetzt werden. Verändern Sie
keine Zeilen, die Sie nicht genau verstehen.
Neben den Kurzbeschreibungen in dieser Datei, finden Sie
zusätzliche Erklärungen in NOTES
,
die sich in demselben Verzeichnis wie
GENERIC
für die jeweilige Architektur
befindet. Von der Architektur unabhängige Optionen sind in
/usr/src/sys/conf/NOTES
aufgeführt.
Wenn Sie die Kernelkonfigurationsdatei fertig bearbeitet
haben, sollten Sie eine Sicherungskopie außerhalb von
/usr/src
speichern
Alternativ kann die Kernelkonfigurationsdatei an anderer Stelle gespeichert, und ein symbolischer Link auf die Datei erstellt werden:
#
cd /usr/src/sys/amd64/conf
#
mkdir /root/kernels
#
cp GENERIC /root/kernels/MYKERNEL
#
ln -s /root/kernels/MYKERNEL
Es ist möglich, eine include
-Anweisung
in die Kernelkonfigurationsdatei aufzunehmen.
Diese erlaubt das lokale Einfügen von anderen Konfigurationsdateien
in die aktuelle, was es einfacher macht, kleinere Änderungen an
einer existierenden Datei zu vollziehen. Wenn Sie einen
GENERIC
-Kernel mit nur einer kleinen Anzahl von
zusätzlichen Optionen und Treibern benötigen, brauchen Sie
mit den folgenden Zeilen nur ein kleines Delta im Vergleich zu GENERIC
anpassen, wie in diesem Beispiel zu sehen:
include GENERIC ident MYKERNEL options IPFIREWALL options DUMMYNET options IPFIREWALL_DEFAULT_TO_ACCEPT options IPDIVERT
Diese Methode zeigt die Unterschiede der lokalen
Konfigurationsdatei zu einem GENERIC
-Kernel
an. Sobald Aktualisierungen durchgeführt werden, können neue
Eigenschaften, die zu GENERIC
hinzugefügt
werden, auch dem lokalen Kernel angehängt werden, es sei denn,
es wird durch nooptions
oder
nodevice
unterbunden. Eine umfassende Liste
von Konfigurationseinstellungen und deren Beschreibungen finden
Sie in config(5).
Um einen Kernel mit allen möglichen Optionen zu bauen,
führen Sie als root
die folgenden Befehle aus:
#
cd /usr/src/sys/
arch
/conf && make LINT
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>.