Das Format der Konfigurationsdatei ist recht einfach. Jede Zeile
enthält ein Schlüsselwort und ein oder mehrere Argumente.
Eine Zeile, die von einen #
eingeleitet wird, gilt
als Kommentar und wird ignoriert. Die folgenden Abschnitte
beschreiben jedes Schlüsselwort in der Reihenfolge, in der es
in GENERIC
auftaucht.
Eine ausführliche Liste aller
Optionen mit detaillierten Erklärungen finden Sie in der
Konfigurationsdatei NOTES
, die sich in demselben
Verzeichnis wie die Datei GENERIC
befindet.
Von der Architektur unabhängige Optionen sind in
der Datei /usr/src/sys/conf/NOTES
aufgeführt.
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 beispielsweise 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:
Für viele Administratoren bietet dieses Modell entscheidende
Vorteile über das bisherige Erstellen von Konfigurationsdateien von
Grund auf: die lokalen Konfigurationdateien enthalten auch nur die
lokalen Unterschiede zu einem GENERIC
-Kernel und
sobald Aktulaisierungen 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
verhindert. Der übrige Teil dieses Kapitels behandelt die Inhalte
einer typischen Konfigurationsdatei und die Rolle, die unterschiedliche
Optionen und Geräte dabei spielen.
Um einen Kernel mit allen möglichen Optionen zu bauen
beispielsweise für Testzwecke), führen Sie als
root
die folgenden Befehle aus:
#
cd /usr/src/sys/i386
/conf && make LINT
Das folgende Beispiel zeigt eine GENERIC
Konfigurationsdatei, die, wo notwendig, zusätzliche Kommentare
enthält. Sie sollte der Datei
/usr/src/sys/
auf Ihrem System sehr ähnlich sein.i386
/conf/GENERIC
Gibt die Architektur der Maschine an und muss entweder
amd64
,
i386
, ia64
,
pc98
, powerpc
oder sparc64
sein.
Die vorigen Zeilen geben den Typ der CPU Ihres Systems an. Sie
können mehrere CPU Typen angeben, wenn Sie sich zum Beispiel
nicht sicher sind, ob Sie I586_CPU
oder
I686_CPU
benutzen sollen. Für einen
angepassten Kernel ist es aber am besten, wenn Sie nur die CPU
angeben, die sich in der Maschine befindet. Der CPU-Typ wird
in den Boot-Meldungen ausgegeben, die in der Datei
/var/run/dmesg.boot
gespeichert sind.
Gibt den Namen Ihres Kernels an. Hier sollten Sie den Namen
einsetzen, den Sie Ihrer Konfigurationsdatei gegeben haben. In
unserem Beispiel ist das MYKERNEL
. Der Wert, den
Sie ident
zuweisen, wird beim Booten des neuen
Kernels ausgegeben. Wenn Sie den Kernel von Ihrem normal verwendeten
Kernel unterscheiden wollen, weil Sie zum Beispiel einen Kernel zum
Testen bauen, ist es nützlich, hier einen anderen Namen
anzugeben.
Unter FreeBSD werden Geräte mit device.hints(5)
konfiguriert. In der Voreinstellung überprüft
loader(8) beim Systemstart die Datei
/boot/device.hints
. Die Option
hints
erlaubt es, die Gerätekonfiguration
statisch in den Kernel einzubinden, sodass die Datei
device.hints
in /boot
nicht benötigt wird.
Der normale Bauprozess von FreeBSD erstellt nur dann einen
Kernel, der Debugging-Informationen enthält, wenn Sie die
Option -g
von gcc(1) aktivieren.
Der voreingestellte Scheduler von FreeBSD. Ändern Sie diesen Wert nicht!
Erlaubt es Kernelthreads, vor Threads eigentlich höherer Prioritält ausgeführt zu werden. Die Interaktivitält des Systems wird dadurch erhölt. Interrupt-Threads werden dabei bevorzugt ausgeführt.
Netzwerkunterstützung. Auch wenn Sie nicht planen, den Rechner mit einem Netzwerk zu verbinden, sollten Sie diese Option aktiviert lassen. Die meisten Programme sind mindestens auf die Loopback Unterstützung (Verbindungen mit sich selbst) angewiesen. Damit ist diese Option im Endeffekt notwendig.
Aktiviert die Unterstützung für das IPv6 Protokoll.
Das Dateisystem für Festplatten. Wenn Sie von einer Festplatte booten wollen, lassen Sie diese Option aktiviert.
Mit dieser Option wird die Unterstützung für Soft
Updates, die Schreibzugriffe beschleunigen, in den Kernel
eingebunden. Auch wenn die Funktion im Kernel ist, muss
sie für einzelne Dateisysteme explizit aktiviert werden.
Überprüfen Sie mit mount(8), ob die Dateisysteme
Soft Updates benutzen. Wenn die Option
soft-updates
nicht aktiviert ist, können
Sie die Option nachträglich mit tunefs(8) aktivieren.
Für neue Dateisysteme können Sie Option beim Anlegen mit
newfs(8) aktivieren.
Diese Option aktiviert die Unterstützung für Zugriffskontrolllisten (ACL). Die ACLs hängen von erweiterten Attributen und UFS2 ab, eine genaue Beschreibung finden Sie in Abschnitt 15.11, „Zugriffskontrolllisten für Dateisysteme“. Die Zugriffskontrolllisten sind in der Voreinstellung aktiviert und sollten auch nicht deaktiviert werden, wenn Sie schon einmal auf einem Dateisystem verwendet wurden, da dies die Zugriffsrechte auf Dateien in unvorhersehbarer Art und Weise ändern kann.
Diese Option steigert die Geschwindigkeit von Plattenzugriffen auf großen Verzeichnissen. Dadurch verbraucht das System etwas mehr Speicher als vorher. Für stark beschäftigte Server oder Arbeitsplatzrechner sollten Sie diese Option aktiviert lassen. Auf kleineren Systemen, bei denen Speicher eine kostbare Ressource darstellt oder Systemen, auf denen die Geschwindigkeit der Plattenzugriffe nicht wichtig ist, wie Firewalls, können Sie diese Option abstellen.
Diese Option aktiviert die Unterstüztung für ein Root-Dateisystem auf einem speicherbasierten Laufwerk (RAM-Disk).
Das Network Filesystem. Wenn Sie keine Partitionen von einem UNIX® File-Server über TCP/IP einhängen wollen, können Sie diese Zeile auskommentieren.
Das MS-DOS® Dateisystem. Sie können diese Zeile
auskommentieren, wenn Sie nicht vorhaben, eine DOS-Partition
beim Booten einzuhängen. Das nötige Modul wird
ansonsten automatisch geladen, wenn Sie das erste Mal eine
DOS-Partition einhängen. Außerdem können
Sie mit den ausgezeichneten
emulators/mtools
aus
der Ports-Sammlung auf DOS-Floppies zugreifen, ohne diese
an- und abhängen zu müssen (MSDOSFS
wird in diesem Fall nicht benötigt).
Das ISO 9660 Dateisystem für CD-ROMs. Sie können diese Zeile auskommentieren, wenn Sie kein CD-ROM-Laufwerk besitzen oder nur ab und an CDs einhängen. Das Modul wird automatisch geladen, sobald Sie das erste Mal eine CD einhängen. Für Audio-CDs benötigen Sie dieses Dateisystem nicht.
Das Prozessdateisystem. Dies ist ein Pseudo-Dateisystem,
das auf /proc
eingehangen wird und es Programmen
wie ps(1) erlaubt, mehr Informationen über laufende Prozesse
auszugeben. PROCFS
sollte von FreeBSD nicht mehr
benötigt werden, da die meisten Debug- und
Überwachungs-Werkzeuge nicht mehr darauf angewiesen sind.
Daher wird das Prozessdateisystem auch nicht mehr automatisch
in das System eingebunden.
Kernel, die PROCFS
verwenden, müssen
auch die Option PSEUDOFS
verwenden.
Diese Option ermöglicht eine große Anzahl Partitionen auf einem einzelnen Laufwerk.
Stellt die Kompatibilität zu 4.3BSD sicher. Belassen Sie diese Option, da sich manche Programme recht sonderbar verhalten werden, wenn Sie diese auskommentieren.
Diese Option stellt sicher, dass Anwendungen, die auf älteren FreeBSD Versionen übersetzt wurden und alte Systemaufrufe verwenden, noch lauffähig sind. Wir empfehlen, diese Option auf allen i386™-Systemen zu verwenden, auf denen vielleicht noch ältere Anwendungen laufen sollen. Auf Plattformen, die erst ab FreeBSD 5.0 unterstützt werden (wie ia64 und SPARC®), wird diese Option nicht benötigt.
Diese Option wird ab FreeBSD 6.X benötigt, um Programme, die unter FreeBSD 5.X-Versionen mit FreeBSD 5.X-Systemaufrufen kompiliert wurden, unter FreeBSD 6.X ausführen zu können.
Diese Option wird ab FreeBSD 7.X benötigt, um Programme, die unter FreeBSD 6.X-Versionen mit FreeBSD 6.X-Systemaufrufen kompiliert wurden, unter FreeBSD 7.X ausführen zu können.
Diese Option wird ab FreeBSD 8.X benötigt, um Programme, die unter FreeBSD 7.X-Versionen mit FreeBSD 7.X-Systemaufrufen kompiliert wurden, unter FreeBSD 8.X ausführen zu können.
Dies weist den Kernel an, 5 Sekunden zu warten, bevor er anfängt nach SCSI-Geräten auf dem System zu suchen. Wenn Sie nur IDE-Geräte besitzen, können Sie die Anweisung ignorieren. Sie können versuchen, den Wert zu senken, um den Startvorgang zu beschleunigen. Wenn FreeBSD dann Schwierigkeiten hat, Ihre SCSI-Geräte zu erkennen, sollten Sie den Wert natürlich wieder erhöhen.
Dies schaltet die Kernel-Prozessverfolgung (engl. kernel process tracing) ein, die sehr nützlich bei der Fehlersuche ist.
Diese Option aktiviert die Unterstützung für System V Shared-Memory. Die XSHM-Erweiterung von X benötigt diese Option und viele Graphik-Programme werden die Erweiterung automatisch benutzen und schneller laufen. Wenn Sie X benutzen, sollten Sie diese Option auf jeden Fall aktivieren.
Unterstützung für System V Messages. Diese Option vergrößert den Kernel nur um einige hundert Bytes.
Unterstützung für System V Semaphoren. Dies wird selten gebraucht, vergrößert aber den Kernel nur um einige hundert Bytes.
Die Option -p
des Kommandos
ipcs(1) zeigt Programme an, die diese System V
Erweiterungen benutzen.
Echtzeit-Erweiterungen, die 1993 zu POSIX® hinzugefügt wurden. Bestimmte Programme wie StarOffice™ benutzen diese Erweiterungen.
Diese Option erstellt für die Tastatur einen
Eintrag im Verzeichnis /dev
.
Giant ist der Name einer Sperre (Mutex) die viele
Kernel-Ressourcen schützt. Heutzutage ist Giant ein
unannehmbarer Engpass, der die Leistung eines Systems
beeinträchtigt. Daher wird Giant durch Sperren ersetzt,
die einzelne Ressourcen schützen. Die Option
ADAPTIVE_GIANT
fügt Giant zu den
Sperren hinzu, auf die gewartet werden kann. Ein Thread,
der die Sperre Giant von einem anderen Thread benutzt
vorfindet, kann nun weiterlaufen und auf die Sperre Giant
warten. Früher wäre der Prozess in den schlafenden
Zustand (sleep) gewechselt
und hätte darauf warten müssen, dass er wieder
laufen kann. Wenn Sie sich nicht sicher sind, belassen
Sie diese Option.
Beachten Sie, dass ab FreeBSD 8.0-RELEASE und neuer alle
Mutexe in der Voreinstellung adaptiv sein werden, es sei denn,
Sie werden durch das Setzen der Option
NO_ADAPTIVE_MUTEXES
explizit als
nichtadaptiv deklariert. Als Folge dessen ist Giant nun in
in der Voreinstellung ebenfalls adaptiv, daher ist in diesen
Versionen die Kerneloption ADAPTIVE_GIANT
nicht mehr in der Kernelkonfigurationsdatei enthalten.
Das apic-Gerält ermöglicht die Benutzung
des I/O APIC für die Interrupt-Auslieferung.
Das apic-Gerält kann mit Kerneln für
Einprozessorsysteme und Mehrprozessorsysteme benutzt
werden. Kernel für Mehrprozessorsysteme benötigen
diese Option zwingend. Die Unterstützung für
Mehrprozessorsysteme aktivieren Sie mit der Option
options SMP
.
Das apic-Gerät existiert nur unter der i386-Architektur, daher ist es sinnlos, diese Zeile unter einer anderen Architektur in Ihre Kernelkonfigurationsdatei aufzunehmen.
Fügen Sie diese Zeile ein, wenn Sie ein EISA-Motherboard besitzen. Dies aktiviert die Erkennung und Konfiguration von allen Geräten auf dem EISA Bus.
Wenn Sie ein PCI-Motherboard besitzen, fügen Sie diese Zeile ein. Dies aktiviert die Erkennung von PCI-Karten und die PCI-ISA bridge.
Der Floppy-Controller.
Dieser Treiber unterstützt alle ATA und ATAPI Geräte.
Eine device ata
Zeile reicht aus und der
Kernel wird auf modernen Maschinen alle PCI ATA/ATAPI Geräte
entdecken.
Für ATA-Plattenlaufwerke brauchen Sie diese Zeile zusammen
mit device ata
.
Für ATA-RAID brauchen Sie diese Zeile zusammen
mit device ata
.
Zusammen mit device ata
wird dies für
ATAPI CD-ROM Laufwerke benötigt.
Zusammen mit device ata
wird dies für
ATAPI Floppy Laufwerke benötigt.
Zusammen mit device ata
wird dies für
ATAPI Bandlaufwerke benötigt.
Erzwingt eine statische Gerätenummer für den Controller; ohne diese Option werden die Nummern dynamisch zugeteilt.
SCSI-Controller. Kommentieren Sie alle Controller aus, die sich
nicht in Ihrem System befinden. Wenn Sie ein IDE-System besitzen,
können Sie alle Einträge entfernen. Die Zeilen mit den
*_REG_PRETTY_PRINT
-Einträgen aktivieren
Debugging-Optionen für die jeweiligen Treiber.
SCSI Peripheriegeräte. Kommentieren Sie wieder alle Geräte aus, die Sie nicht besitzen. Besitzer von IDE-Systemen können alle Einträge entfernen.
Der USB-umass(4)-Treiber und einige andere Treiber benutzen das SCSI-Subsystem obwohl sie keine SCSI-Geräte sind. Belassen Sie die SCSI-Unterstützung im Kernel, wenn Sie solche Treiber verwenden.
Unterstützte RAID Controller. Wenn Sie keinen der aufgeführten Controller besitzen, kommentieren Sie die Einträge aus oder entfernen sie.
Der Tastatur-Controller (atkbdc
) ist für
die Ein- und Ausgabe von AT-Tastaturen und PS/2 Zeigegeräten (z.B.
einer Maus) verantwortlich. Dieser Controller wird vom
Tastaturtreiber (atkbd
) und dem PS/2
Gerätetreiber (psm
) benötigt.
Zusammen mit dem atkbdc
Controller bietet der
atkbd
Treiber Zugriff auf AT-Tastaturen.
Benutzen Sie dieses Gerät, wenn Sie eine Maus mit PS/2 Anschluss besitzen.
Basisunterstützung für Tastaturmultiplexer. Verwenden Sie nur eine einzige Tastatur, können Sie diese Zeile aus Ihrer Kernelkonfigurationsdatei entfernen.
Der Grafikkartentreiber.
Zeigt einen „Splash Screen“ beim Booten. Diese Zeile wird auch von den Bildschirmschonern benötigt.
sc
ist in der Voreinstellung der Treiber
für die Konsole, die der SCO-Konsole ähnelt. Da die
meisten bildschirmorientierten Programme auf die Konsole mit Hilfe
einer Datenbank wie termcap
zugreifen, sollte es
keine Rolle spielen, ob Sie diesen Treiber oder
vt
, den VT220
kompatiblen
Konsolentreiber einsetzen. Wenn Sie Probleme mit
bildschirmorientierten Anwendungen unter dieser Konsole haben, setzen
Sie beim Anmelden die Variable TERM
auf den Wert
VT220
.
Der VT220 kompatible Konsolentreiber ist kompatibel zu VT100/102.
Auf einigen Laptops, die aufgrund der Hardware inkompatibel zum
sc
Treiber sind, funktioniert dieser Treiber gut.
Beim Anmelden sollten Sie die Variable TERM
auf den
Wert vt100
setzen. Dieser Treiber kann sich als
nützlich erweisen, wenn Sie sich über das Netzwerk auf
vielen verschiedenen Maschinen anmelden, da dort oft Einträge in
termcap
oder terminfo
für das sc
Gerät fehlen. Dagegen
sollte vt100
auf jeder Plattform unterstützt
werden.
Fügen Sie diese Zeile ein, wenn Sie eine AGP-Karte besitzen. Damit werden Motherboards mit AGP und AGP GART unterstützt.
Unterstützung zur Energieverwaltung. Diese
Option ist nützlich für Laptops, allerdings
ist sie in GENERIC
deaktiviert.
Zeitgeber für Ereignisse der Energieverwaltung (APM und ACPI).
PCMCIA Unterstützung. Wenn Sie einen Laptop benutzen, brauchen Sie diese Zeile.
Die seriellen Schnittstellen, die in der MS-DOS®-
und Windows®-Welt COM
genannt werden.
Wenn Sie ein internes Modem, das COM4
benutzt, besitzen und eine serielle Schnittstelle haben,
die auf COM2
liegt, müssen
Sie den IRQ des Modems auf 2 setzen (wegen undurchsichtigen
technischen Gründen ist IRQ2 gleich IRQ9). Wenn Sie
eine serielle Multiport-Karte besitzen, entnehmen Sie bitte
die Werte, die Sie in die Datei
/boot/device.hints
einfügen
müssen, der Hilfeseite sio(4). Einige Graphikkarten,
besonders die auf S3-Chips basierten, benutzen IO-Adressen
der Form 0x*2e8
und manche billige
serielle Karten dekodieren den 16-Bit IO-Adressraum
nicht sauber. Dies führt zu Konflikten und blockiert
dann die COM4
-Schnittstelle.
Jeder seriellen Schnittstelle muss ein eigener IRQ zugewiesen
werden (wenn Sie eine Multiport-Karte verwenden, bei der das Teilen
von Interrupts unterstützt wird, muss das nicht der Fall
sein), daher können in der Voreinstellung
COM3
und COM4
nicht benutzt werden.
Die parallele Schnittstelle auf dem ISA Bus.
Unterstützung für den Bus auf der parallelen Schnittstelle.
Unterstützung für Drucker über die parallele Schnittstelle.
Sie brauchen jede der drei Zeilen, um die Unterstützung für einen Drucker an der parallelen Schnittstelle zu aktivieren.
Der Treiber für das Netzwerkinterface über die parallele Schnittstelle.
Allgemeine I/O („geek port“) und IEEE1284 I/O Unterstützung.
Dies aktiviert den Treiber für ein Iomega Zip Laufwerk.
Zusätzlich benötigen Sie noch die Unterstützung
für scbus
und da
. Die
beste Performance erzielen Sie, wenn Sie die Schnittstelle im EPP 1.9
Modus betreiben.
Aktivieren Sie diesen Treiber, wenn Sie eine serielle oder parallele PCI-Karte besitzen, die vom Treiber puc(4) unterstützt wird.
Verschiedene Treiber für PCI-Netzwerkkarten. Geräte, die sich nicht in Ihrem System befinden, können Sie entfernen oder auskommentieren.
Einige PCI 10/100 Ethernet Netzwerkkarten, besonders die, die
MII-fähige Transceiver verwenden oder Transceiver-Steuerungen
implementieren, die ähnlich wie MII funktionieren,
benötigen die Unterstützung für den MII-Bus. Die
Zeile device miibus
fügt dem Kernel die
Unterstützung für das allgemeine miibus API und allen
PHY-Treibern hinzu.
Treiber, die den MII Bus Controller Code benutzen.
Treiber für ISA Ethernet Karten. Schauen Sie in
/usr/src/sys/
nach, um zu sehen, welche Karte von welchem Treiber
unterstützt wird.i386
/conf/NOTES
Generische 802.11-Unterstützung. Diese Zeile wird unbedingt benötigt, wenn Sie WLAN nutzen wollen.
Krypto-Unterstützung für 802.11-Geräte. Sie benötigen diese Zeilen, wenn Sie Ihr drahtloses Netzwerk verschlüsseln und die 802.11-Sicherheitsprotokolle einsetzen wollen.
Treiber für drahtlose Netzwerkkarten (WLAN).
Das TCP/IP Loopback Device. Wenn Sie eine Telnet oder FTP
Verbindung zu localhost
(alias 127.0.0.1
) aufbauen, erstellen Sie eine
Verbindung zu sich selbst durch dieses Device. Die Angabe
dieser Option ist verpflichtend.
Kryptographisch sicherer Zufallszahlengenerator.
ether
brauchen Sie nur, wenn Sie eine
Ethernet-Karte besitzen. Der Treiber unterstützt das
Ethernet-Protokoll.
sl
aktiviert die SLIP-Unterstützung.
SLIP ist fast vollständig von PPP verdrängt
worden, da letzteres leichter zu konfigurieren, besser
geeignet für Modem zu Modem Kommunikation und
mächtiger ist.
Dies ist Kernel Unterstützung für
PPP-Wählverbindungen. Es existiert auch eine
PPP-Version im Userland, die den tun
Treiber benutzt. Die Userland-Version ist flexibler
und bietet mehr Option wie die Wahl auf Anforderung.
Dies wird vom der Userland PPP benutzt. Die
Zahl
hinter tun
gibt
die Anzahl der unterstützten gleichzeitigen Verbindungen an.
Weitere Informationen erhalten Sie im Abschnitt
PPP
dieses Handbuchs.
Dies ist ein „Pseudo-Terminal“ oder simulierter
Login-Terminal. Er wird von einkommenden telnet
und rlogin
Verbindungen,
xterm und anderen Anwendungen wie
Emacs benutzt.
Pseudo-Gerät für Speicher-Laufwerke.
Dieses Gerät tunnelt IPv6 über IPv4, IPv4 über
IPv6, IPv4 über IPv4 oder IPv6 über IPv6.
Das Gerät gif
kann die Anzahl der
benötigten Geräte automatisch bestimmen
(„auto-cloning“).
Dieses Pseudo-Gerät fängt zu ihm gesendete Pakete ab und leitet Sie zu einem Dæmon weiter, der Verkehr zwischen IPv4 und IPv6 vermittelt.
Das ist der Berkeley Paketfilter. Dieses Pseudo-Gerät kann Netzwerkkarten in den „promiscuous“ Modus setzen und erlaubt es damit, Pakete auf einem Broadcast Netzwerk (z.B. einem Ethernet) einzufangen. Die Pakete können auf der Festplatte gespeichert und mit tcpdump(1) untersucht werden.
Das bpf(4)-Gerät wird von dhclient(8) genutzt, um die IP-Adresse des Default-Routers zu bekommen. Wenn Sie DHCP benutzen, lassen Sie diese Option bitte aktiviert.
Unterstützung für verschiedene USB Geräte.
Verschiedene Firewire-Geräte.
Mehr Informationen und weitere von FreeBSD unterstützte
Geräte entnehmen Sie bitte
/usr/src/sys/
.i386
/conf/NOTES
Systeme mit hohen Speicheranforderungen benötigen mehr Speicher als den auf 4 Gigabyte beschränkten User- und Kernel-Adressraum (KVA). Mit dem Pentium® Pro und neueren CPUs hat Intel den Adressraum auf 36-Bit erweitert.
Die Physical-Address-Extension (PAE)
von Intel®s Pentium® Pro und neueren Prozessoren
unterstützt bis zu 64 Gigabyte Speicher.
FreeBSD kann diesen Speicher mit der Option PAE
in der Kernelkonfiguration nutzen. Die Option gibt es
in allen aktuellen FreeBSD-Versionen. Wegen Beschräkungen der
Intel-Speicherarchitektur wird keine Unterscheidung
zwischen Speicher oberhalb oder unterhalb von 4 Gigabyte
getroffen. Speicher über 4 Gigabyte wird
einfach dem zur Verfügung stehenden Speicher
zugeschlagen.
Sie aktivieren PAE im Kernel, indem Sie die folgende Zeile in die Kernelkonfigurationsdatei einfügen:
FreeBSD unterstützt PAE nur auf IA-32 Prozessoren. Die PAE-Unterstützung wurde zudem noch nicht hinreichend getestet und befindet sich im Vergleich zu anderen Komponenten von FreeBSD noch im Beta-Stadium.
Die PAE-Unterstützung in FreeBSD ist mit den nachstehenden Einschränkungen verbunden:
Ein Prozess kann nicht mehr als 4 Gigabyte virtuellen Speicher benutzen.
Gerätetreiber, die nicht die bus_dma(9)-Schnittstelle benutzen, führen zusammen mit einem PAE-Kernel zu Datenverlusten. Diese Treiber sollen nicht mit einem PAE-Kernel verwendet werden. Daher gibt es unter FreeBSD eine zusätzliche PAE-Kernelkonfigurationsdatei, die alle Treiber enthält, die mit einem PAE-Kernel funktionieren.
Einige Systemvariablen werden abhängig von
der Speichergröße eingestellt. In einem
PAE-System mit viel Speicher
können die Werte daher zu hoch eingestellt sein.
Ein Beispiel ist die sysctl-Variable
kern.maxvnodes
, die die maximale
Anzahl von vnodes im Kernel bestimmt. Solche
Variablen sollten auf einen angemessenen Wert
eingestellt werden.
Es kann erforderlich sein, den virtuellen Adressraum
des Kernels (KVA) zu vergrößern
oder, wie oben beschrieben, den Wert einer häufig
gebrauchten Kernelvariablen zu verringern. Dies
verhindert einen Überlauf des KVAs.
Der Adressraum des Kernels kann mit der Kerneloption
KVA_PAGES
vergrößert
werden.
Hinweise zur Leistungssteigerung und Stabilität entnehmen Sie bitte der Hilfeseite tuning(7). Die PAE-Unterstützung von FreeBSD wird in der Hilfeseite pae(4) beschrieben.
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>.