diff --git a/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml b/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml new file mode 100644 index 0000000000..22cce7d808 --- /dev/null +++ b/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml @@ -0,0 +1,1464 @@ + + + + + + + Jim + Mock + Erweitert und neustrukturiert von + + + + + + Jake + Hamby + Ursprünglich veröffentlicht von + + + + + + Robert + Altschaffel + Übersetzt von + + + + + + Konfiguration des FreeBSD Kernels + + + Übersicht + + + Kernel + Erstellen eines angepaßten Kernels + + + Der Kernel ist das Herz des FreeBSD Betriebssystems. Er ist + verantwortlich für die Speicherverwaltung, das Durchsetzen + von Sicherheitsdirektiven, Netzwerkfähigkeit, Festplattenzugriffen + und vieles mehr. Obwohl FreeBSD es immer mehr ermöglicht, dynamisch + konfiguriert zu werden, ist es ab und an notwendig, den Kernel + neu zu konfigurieren und zu kompilieren. + + Nachdem Sie dieses Kapitel gelesen haben, werden Sie folgendes + wissen: + + + + Wieso Sie Ihren Kernel neu konfigurieren sollten. + + + + Wie Sie eine Kernel-Konfigurationsdatei erstellen oder + verändern. + + + + Wie Sie mit der Konfigurationsdatei einen neuen Kernel + kompilieren. + + + + Wie Sie den neuen Kernel installieren. + + + + Wie sie die benötigten Einträge in + /dev erstellen. + + + + Was zu tun ist, falls etwas schiefgeht. + + + + + + Wieso einen eigenen Kernel bauen? + + Traditionell besaß FreeBSD einen monolithischen Kernel. Das + bedeutet, daß der Kernel ein einziges großes Programm war, + daß eine bestimmte Auswahl an Hardware unterstützte. + Also mußte man immer, wenn man das Kernelverhalten verändern + wollte, zum Beispiel wenn man neue Hardware hinzufügen wollte, + einen neuen Kernel kompilieren, installieren und das System neu + starten. + + Heutzutage vertritt FreeBSD immer mehr die Idee eines modularen + Kernels, bei dem bestimmte Funktionen, je nach Bedarf, als Module + geladen werden können. Ein Bekanntes Beispiel dafür sind + die Module für die PCMCIA-Karten in Laptops, die zum Starten + nicht zwingend benötigt werden, und erst bei Bedarf geladen werden. + Diese Module nennt man KLDs (kernel loadable modules). + + Trotzdem ist es noch immer nötig, einige statische + Kernelkonfigurationen durchzuführen. In einigen Fällen + ist die Funktion zu systemnah, um durch ein Modul zu realisiert werden. + In anderen Fällen hat eventuell noch niemand ein ladbares + Kernelmodul für diese Funktion geschrieben. + + Das Erstellen eines angepaßten Kernels ist eines der + wichtigsten Rituale, das nahezu jeder Unix Benutzer erdulden + muß. Obwohl dieser Prozeß recht viel Zeit in Anspruch nimmt, + bringt er doch viele Vorteile für Ihr FreeBSD System. Der + GENERIC Kernel muß eine große Zahl + unterschiedlicher Hardware unterstützen. Im Gegensatz dazu + unterstützt ein angepaßter Kernel nur + Ihre Hardware. Dies hat einige Vorteile: + + + + Schnellerer Bootvorgang. Da der Kernel nach weniger Geräten + sucht, ist die Boot-Sequenz weitaus schneller. + + + + Geringere Speicherausnutzung. Ein eigener Kernel benötigt + in der Regel weniger Speicher als ein GENERIC + Kernel, was vorteilhaft ist, da der Kernel immer im RAM verweilt. + Insbesondere profitieren Systeme mit wenig RAM davon. + + + + Zusätzliche Hardwareunterstützung. Ein + angepaßter Kernel kann Unterstützung für Geräte + wie Soundkarten bieten, die im GENERIC Kernel nicht unterstützt + werden. + + + + + + Erstellen und Installation eines angepaßten + Kernels + + Kernel + Erstellen und Installation + + + Zuerst erläutern wir die Verzeichnisstruktur, in der der + Kernel gebaut wird. Die im folgenden genannten Verzeichnisse sind + relativ zu /usr/src/sys angegeben, das Sie auch + über /sys erreichen können. Es existieren + mehrere Unterverzeichnisse, die bestimmte Teile des Kernels + darstellen, aber die für uns wichtigsten sind + arch/conf, in dem + Sie die Konfigurationsdatei für den angepaßten Kernel + erstellen werden, und compile, in dem der Kernel + gebaut wird. arch kann entweder + i386, alpha oder + pc98 (eine in Japan beliebte Architektur) sein. + Alles in diesen Verzeichnissen ist nur für die jeweilige + Architektur relevant, während der Rest des Codes für alle + Plattformen, auf die FreeBSD portiert werden kann, gleich ist. + Beachten Sie die Verzeichnisstruktur, die jedem unterstützten + Gerät, jedem Dateisystem und jeder Option ein eigenes + Verzeichnis zuordnet. + + + Falls Sie kein /usr/src/sys Verzeichnis + vorfinden, so sind die Kernelquellen nicht installiert. Der + einfachste Weg dies nachzuholen, ist + /stand/sysinstall als root + auszuführen. Dort wählen Sie Configure, + dann Distributions, dann src + und schließlich sys. Wenn Sie eine + Aversion gegen sysinstall haben und eine + offizielle FreeBSD CDROM besitzen, können Sie + die Kernelquellen auch von der Kommandozeile installieren: + + &prompt.root; mount /cdrom +&prompt.root; mkdir -p /usr/src/sys +&prompt.root; ln -s /usr/src/sys /sys +&prompt.root; cat /cdrom/sys/ssys.[a-d]* | tar -xzvf + + + Als nächstes wechseln sie in das Verzeichnis, in dem die + GENERIC Konfigurationsdatei liegt und kopieren + diese in eine Datei mit dem Namen, den Sie Ihrem Kernel geben + wollen: + + &prompt.root; cd /usr/src/sys/i386/conf +&prompt.root; cp GENERIC MYKERNEL + + Traditionell ist der Name des Kernels immer in Großbuchstaben. + Wenn Sie mehrere FreeBSD mit unterschiedlicher Hardware warten, ist + es nützlich, wenn Sie Konfigurationsdatei nach dem Hostnamen der + Maschinen benennen. Im Beispiel verwenden wir den Namen + MYKERNEL. + + + Es ist nicht zu empfehlen die Konfigurationsdatei direkt + unterhalb von /usr/src abzuspeichern. Wenn + Sie Probleme haben, könnten Sie der Versuchung erliegen, + /usr/src einfach zu löschen und wieder + von vorne anzufangen. Fünf Sekunden später werden Sie + dann feststellen, daß Sie soeben Ihre + Kernel-Konfigurationsdatei gelöscht haben. + + Sie sollten die Konfigurationsdatei an anderer Stelle aufheben + und in i386 einen Link auf die Datei + erstellen. + + Beispiel: + + &prompt.root; cd /usr/src/sys/i386/conf +&prompt.root; mkdir /root/kernels +&prompt.root; cp GENERIC /root/kernels/MYKERNEL +&prompt.root; ln -s /root/kernels/MYKERNEL + + + + Diese und die folgenden Kommandos müssen Sie als + root ausführen, da Sie sonst + permission denied Fehler erhalten. + + + Jetzt editieren Sie MYKERNEL mit einem + Texteditor Ihres Vertrauens. Wenn Sie gerade neu anfangen, ist Ihnen + vielleicht nur der vi Editor bekannt, der allerdings + zu komplex ist, um hier erklärt zu werden. Er wird aber in + vielen Büchern aus der + Bibliographie gut erklärt. FreeBSD bietet aber auch + einen leichter zu benutzenden Editor, den ee an, + den Sie, wenn Sie Anfänger sind, benutzen sollten. Sie + können die Kommentare am Anfang der Konfigurationsdatei + ändern, um die Änderungen gegenüber + GENERIC zu dokumentieren. + + SunOS + Falls Sie schon einmal einen Kernel unter SunOS oder einem + anderen BSD kompiliert haben, werden Sie diese Konfigurationsdatei + bereits kennen. Wenn Sie mit einem anderen Betriebssystem wie DOS + vertraut sind, könnte die GENERIC + Konfigurationsdatei Sie verschrecken. In diesen Fall sollten Sie + den Beschreibungen im Abschnitt über die + Konfigurationsdatei + langsam und vorsichtig folgen. + + + Wenn Sie die FreeBSD Quellen synchronisieren, sollten Sie immer + + /usr/src/UPDATING durchlesen, bevor Sie etwas + verändern. In dieser Datei finden Sie wichtige Informationen + zum Update Prozeß. + Da /usr/src/UPDATING immer zu Ihrer Version + der FreeBSD Quellen paßt, sind die Informationen dort genauer, + als in diesem Handbuch. + + + Nun müssen Sie die Kernelquellen kompilieren. Dazu gibt es + zwei Verfahren. Welches Verfahren Sie nehmen, hängt davon ab, + warum Sie den Kernel neu bauen und welche Version von FreeBSD Sie + verwenden. + + + + Wenn Sie nur die Kernelquellen + installiert haben, benutzen Sie das Verfahren 1. + + + + Wenn Sie eine FreeBSD Version vor 4.0 benutzen und + nicht auf FreeBSD 4.0 oder höher mit + make world migrieren, benutzen Sie + Verfahren 1. + + + + Wenn Sie einen neuen Kernel bauen wollen, ohne dabei den + Quellcode zu aktualisieren, weil Sie vielleicht nur eine neue + Option wie IPFIREWALL hinzugefügt haben, + können Sie jedes der Verfahren einsetzen. + + + + Wenn Sie als Teil eines make world den + Kernel aktualisieren, benutzen Sie das Verfahren 2. + + + + + Verfahren 1. Bau eines Kernels mit der <quote>alten</quote> + Methode + + + Generieren Sie die Kernel Quellen mit &man.config.8;. + + &prompt.root; /usr/sbin/config MYKERNEL + + + + Wechseln Sie in das Bauverzeichnis. + + &prompt.root; cd ../../compile/MYKERNEL + + + + Kompilieren Sie den Kernel. + + &prompt.root; make depend +&prompt.root; make + + + + Installieren Sie den neuen Kernel. + + &prompt.root; make install + + + + + Verfahren 2. Bau eines Kernels mit der <quote>neuen</quote> + Methode + + + Wechseln Sie in das usr/src + Verzeichnis. + + &prompt.root; cd /usr/src + + + + Kompilieren Sie den Kernel. + + &prompt.root; make buildkernel KERNCONF=MYKERNEL + + + + Installieren Sie den neuen Kernel. + + &prompt.root; make installkernel KERNCONF=MYKERNEL + + + + + Mit FreeBSD 4.2 und älteren Versionen müssen Sie + KERNCONF= durch KERNEL= + ersetzen. 4.2-STABLE nach dem 2. Februar 2001 erkennt die + Option KERNCONF=. + + + + cvsup + + anonymous CVS + CTM + + CVS + anonymous + + + Wenn Sie die Quellen nicht auf irgendeine + Weise aktualisiert haben, das heißt, Sie haben nicht + CVSup, CTM oder + anoncvs benutzt, dann können Sie + die Sequenz config, + make depend, make, + make install nutzen. + + + kernel.old + + Der neue Kernel wird nach /kernel kopiert, + während der alte Kernel nach /kernel.old + verschoben wird. Um den neuen Kernel zu benutzen, sollten Sie die + Maschine jetzt rebooten. Falls etwas schief geht, sehen Sie bitte + in dem Abschnitt zur + Fehlersuche am Ende dieses Kapitels nach. Dort sollten Sie + auch unbedingt den Abschnitt lesen, der erklärt, was zu tun + ist, wenn der neue Kernel nicht + bootet. + + + Wenn Sie neue Geräte, wie Soundkarten, hinzugefügt haben, + müssen Sie unter Umständen Gerätedateien in + /dev erstellen, bevor Sie diese benutzen + können. Weitere Informationen finden Sie in Erstellen von Gerätedateien + später in diesem Kapitel. + + + + + Die Kernel-Konfigurationsdatei + + Kernel + LINT + + LINT + + Kernel + Konfigurationsdatei + + + 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. Manche zusammengehörende + Schlüsselwörter werden in einem Abschnitt beschrieben, + obwohl Sie über GENERIC verstreut sind. + Eine ausführliche Liste aller + Optionen mit detailierten Erklärungen finden Sie in der + Konfigurationsdatei LINT, die sich in demselben + Verzeichnis wie GENERIC befindet. Wenn Sie sich + über den Zweck oder die Notwendigkeit einer Zeile im Unklaren + sind, überprüfen Sie bitte diese bitte zuerst in + LINT. + + + Zahlen und Hochkommas + + Bis einschließlich FreeBSD 3.X forderte &man.config.8;, + daß jede Zeichenkette, die Zahlen, die wiederum als Text + interpretiert werden sollten, enthielt, in der Konfigurationsdatei + in doppelte Hochkommas eingeschlossen werden mußten. + + Im 4.X Zweig, den dieses Buch behandelt, wurde diese Forderung + entfernt. Wenn Sie ein System vor dem 4.X Zweig benutzen, finden + Sie Beispiele in /usr/src/sys/i386/conf/LINT und + /usr/src/sys/i386/conf/GENERIC. + + + Kernel + Beispiel Konfigurationsdatei + + + Das folgende Beispiel zeigt eine GENERIC + Konfigurationsdatei, die, wo notwendig, zusätzliche Kommentare + enthält. Sie sollte der Datei + /usr/src/sys/i386/conf/GENERIC auf Ihrem System + sehr ähnlich sein. Für detailierte Informationen über + alle möglichen Optionen sehen Sie sich bitte + /usr/src/sys/i386/conf/LINT an. + + # +# GENERIC -- Generic kernel configuration file for FreeBSD/i386 +# +# For more information on this file, please read the handbook section on +# Kernel Configuration Files: +# +# http://www.FreeBSD.org/handbook/kernelconfig-config.html +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (http://www.FreeBSD.ORG/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ./LINT configuration file. If you are +# in doubt as to the purpose or necessity of a line, check first in LINT. +# +# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246 2000/03/09 16:32:55 jlemon Exp $ + + Die folgenden Schlüsselwörter sind für + jeden Kernel, den Sie bauen, zwingend + erforderlich: + + Kernel Optionen + machine + + + machine i386 + + Gibt die Architektur der Maschine an und muß entweder + i386, alpha oder + pc98 sein. + + + Kernel Optionen + cpu + + cpu I386_CPU +cpu I486_CPU +cpu I586_CPU +cpu I686_CPU + + 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 + angepaßten 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, die Sie sich mit dmesg ansehen + können. ausgegeben. + + Kernel Optionen + cpu type + + + Die Alpha Architektur besitzt verschiedene CPU-Typen: + + cpu EV4 +cpu EV5 + + Wenn Sie eine Alpha Maschine benutzen, sollten Sie einen der + obigen Typen angeben. + + Kernel Optionen + ident + + + ident GENERIC + + 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. + + Kernel Optionen + maxusers + + + maxusers n + + Die Größe wichtiger Systemtabellen wird von + maxusers bestimmt. Der Wert dieser Variablen + sollte ungefähr der Anzahl der Benutzer des Systems + entsprechen. + + Ab FreeBSD 4.5 kann das System diesen Wert selbst setzen, wenn + Sie in der Konfigurationsdatei den Wert 0 + Der verwendete Algorithmus setzt maxuser + auf die Speichergröße des Systems. Der minimale Wert + beträgt dabei 32, das Maximum ist + 384. + angeben. Wenn Sie eine frühere Version von FreeBSD + einsetzen, oder den Wert selbst bestimmen wollen, sollten Sie + maxusers mindestens auf 4 setzen, + sollte, insbesondere wenn Sie beabsichtigen, das X Window System zu + benutzen oder Software zu kompilieren. Der Grund dafür ist, + daß der wichtigste Wert, der von maxusers + bestimmt wird, die maximale Anzahl an Prozessen ist, die auf + 20 + 16 * maxusers gesetzt wird. Wenn Sie also + maxusers auf 1 setzen, können gleichzeitig + nur 36 Prozesse laufen, von denen ungefähr 18 schon beim Booten + des Systems gestartet werden und nochmal etwa 15 Prozesse dazukommen, + wenn Sie das X Window System starten. Selbst eine einfache Aufgabe, + wie das Lesen einer Manual-Seite, braucht neun Prozesse zum Filtern, + Dekomprimieren und Anschauen. Für die meisten Benutzer sollte + es ausreichen, maxusers auf 64 zu setzen, womit + 1044 gleichzeitige Prozesse zur Verfügung stehen.Wenn Sie + allerdings den gefürchteten proc table full + Fehler, beim Versuch ein Programm zu starten oder auf einem Server + mit einer großen Benutzerzahl (wie + ftp.FreeBSD.org) sehen, dann + sollten Sie den Wert erhöhen und den Kernel neu bauen. + + + maxusers begrenzt nicht + die Zahl der Benutzer, die sich auf Ihrer Maschine anmelden + können. Die Variable legt nur die Größe von + verschiedenen Tabellen unter Berücksichtigung der + Benutzeranzahl auf den System und der Anzahl der Prozesse, die + jeder Benutzer laufen läßt, fest. Mit pseudo-device pty + 16 können Sie die Zahl der erlaubten + Anmeldungen von entfernten Systemen festlegen. + + + # Floating point support - do not disable. +device npx0 at nexus? port IO_NPX irq 13 + + npx0 ist die Schnittstelle zur + Fließkomma-Einheit in FreeBSD. Dies kann entweder ein + Coprozessor oder eine mathematische Software-Emulation sein. Die + Angabe dieser Option ist verpflichtend. + + # Pseudo devices - the number indicates how many units to allocate. +pseudo-device loop # Network loopback + + TCP/IPs Loopback Device. Wenn Sie eine Telnet oder FTP + Verbindung zu localhost (a.k.a., 127.0.0.1) aufbauen, erstellen Sie eine + Verbindung zu sich selbst durch dieses Pseudo-Device. Die Angabe + dieser Option ist verpflichtend. + + Das folgende ist mehr oder weniger optional. Mehr Informationen + enthalten die Anmerkungen unter oder neben den diskutierten + Optionen. + + #makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols +options MATH_EMULATE #Support for x87 emulation + + Diese Zeile schaltet die Software-Emulation eines mathematischen + Coprozessors für den Fall, das Ihre Maschine keinen besitzt (386 + or 486SX), ein. Wenn Sie einen 386 oder 486SX mit dem + dazugehörigen Coprozessor (387 oder 487), einen 486DX oder + besser (Pentium, Pentium II, etc.) besitzen, können Sie diese + Zeile auskommentieren. + + + Die normalen Emulationsroutinen für den Coprozessor in + FreeBSD sind nicht sehr genau. Wenn Sie + keinen Coprozessor besitzen, sollten Sie hier + GPL_MATH_EMULATE einsetzen, um die + Unterstützung der GNU Routinen zu aktivieren. Wegen der damit + verbundenen Lizenz, ist diese Option in der Voreinstellung nicht + aktiviert. + + + options INET #InterNETworking + + 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. + + options INET6 #IPv6 communications protocols + + Aktiviert die Unterstützung für das IPv6 + Protokoll. + + options FFS #Berkeley Fast Filesystem +options FFS_ROOT #FFS usable as root device [keep this!] + + Das Dateisystem für Festplatten. Wenn Sie von einer + Festplatte booten wollen, lassen Sie diese Option aktiviert. + + options UFS_DIRHASH #Improve performance on big directories + + 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. + + options MFS #Memory Filesystem +options MD_ROOT #MD is a potential root device + + Das speicherbasierte Dateisystem. Dies ist eine RAM-Disk, die + zum schnellen Zugriff auf temporäre Dateien dient und + nützlich ist, wenn Sie über viel Speicher verfügen. + Eine MFS-Partition eignet sich sehr gut für das + /tmp Verzeichnis, da dort sehr viele Programme + temporäre Daten speichern. Um eine MFS RAM-Disk auf + /tmp einzurichten, fügen Sie die folgende + Zeile in /etc/fstab hinzu: + + + /dev/ad1s2b /tmp mfs rw 0 0 + + + Um das Dateisystem einzuhängen, können Sie nun booten + oder rufen das Kommando mount /tmp auf. + + + Kernel Optionen + NFS + + + Kernel Optionen + NFS_ROOT + + options NFS #Network Filesystem +options NFS_ROOT #NFS usable as root device, NFS required + + Das Network Filesystem. Wenn Sie keine Partitionen von einem + Unix File-Server über TCP/IP einhängen wollen, können + Sie diese Zeile auskommentieren. + + + Kernel Optionen + MSDOSFS + + options MSDOSFS #MSDOS Filesystem + + 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 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). + + options CD9660 #ISO 9660 Filesystem +options CD9660_ROOT #CD-ROM usable as root, CD9660 required + + Das ISO-9660 Dateisystem für CDROMs. Sie können diese + Zeile auskommentieren, wenn Sie kein CDROM-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. + + options PROCFS #Process filesystem + + Das Prozeß-Dateisystem. Dies ist ein Pseudo-Dateisystem, + das auf /proc eingehangen wird und es Programmen + wie &man.ps.1; erlaubt, mehr Informationen über laufende Prozesse + auszugeben. + + options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] + + Stellt die Kompatibilität zu 4.3BSD sicher. Belassen Sie + diese Option, da sich manche Programme recht sonderbar verhalten + werden, wenn Sie diese auskommentieren. + + options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI + + Dies weist den Kernel an, 15 Sekunden zu warten, bevor er + anfängt nach SCSI-Geräten auf dem System zu suchen. Wenn + Sie nur IDE-Geräte besizten, können Sie die Anweisung + ignorieren. Ansonsten können Sie versuchen, den Wert auf 5 + Sekunden zu ändern, um das Booten schneller zu machen. Hat + FreeBSD dann Schwierigkeiten Ihre SCSI-Geräte zu erkennen, + sollten Sie den Wert natürlich wieder erhöhen. + + options UCONSOLE #Allow users to grab the console + + Erlaubt es Benutzern, die Konsolenausgabe umzulenken. Starten + Sie einen xterm mit + xterm -C, um Ausgaben von write, + talk oder Kernelmeldungen auf der Konsole darin zu + sehen. + + options USERCONFIG #boot -c editor + + Diese Option erlaubt es Ihnen, den Konfigurationseditor aus dem + Bootmenü zu starten. + + options VISUAL_USERCONFIG #visual boot -c editor + + Diese Option erlaubt es Ihnen, den Visual-Konfigurationseditor + aus dem Bootmenü zu starten. + + options KTRACE #ktrace(1) support + + Dies schaltet die Kernel-Prozeßverfolgung (engl. kernel + process tracing) ein, die sehr nützlich bei der Fehlersuche + ist. + + options SYSVSHM #SYSV-style shared memory + + Diese Option aktiviert die Unterstützung für System V + Shared-Memory. Die XSHM-Erweiterung von X benötigt diese Option + und viele Programme, die Graphik intensiv nutzen, werden die + Erweiterung automatisch benutzen und schneller laufen. Wenn Sie X + benutzen, sollten Sie diese Option auf jeden Fall aktivieren. + + options SYSVSEM #SYSV-style semaphores + + Unterstützung für System V Semaphoren. Dies wird + selten gebraucht, vergrößert aber den Kernel nur um einige + hundert Bytes. + + options SYSVMSG #SYSV-style message queues + + Unterstützung für System V Messages. + Vergrößert den Kernel wiederum nur um einige hundert + Bytes. + + + Programme, die diese System V Erweiterungen benutzen, + können Sie sich mit &man.ipcs.1; anzeigen lassen. + + + options P1003_1B #Posix P1003_1B real-time extensions +options _KPOSIX_PRIORITY_SCHEDULING + + Echtzeit-Erweiterungen, die 1993 zu POSIX hinzugefügt + wurden. Bestimmte Programme wie Star + Office benutzen diese Erweiterungen. + + + Kernel Optionen + ICMP_BANDLIM + + + Denial of Service (DoS) + + options ICMP_BANDLIM #Rate limit bad replies + + Diese Option aktiviert die ICMP Bandbreitenbegrenzung für + Antworten. Diese Option sollten Sie aktiviert lassen, da sie Ihre + Maschine vor Denial of Service Angriffen schützt. + + + Kernel Optionen + SMP + + # To make an SMP kernel, the next two are needed +#options SMP # Symmetric MultiProcessor Kernel +#options APIC_IO # Symmetric (APIC) I/O + + Beide Option werden für SMP Unterstützung + benötigt. + + device isa + + Alle von FreeBSD unterstützten PCs benötigen diese + Zeile. Zur Zeit können Sie FreeBSD nicht auf einem IBM PS/2 + (Microchannel Architektur) laufen lassen, aber an der + Unterstützung für Microchannel wird gearbeitet. + + device eisa + + 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. + + device pci + + Wenn Sie ein PCI-Motherboard besitzen, fügen Sie diese Zeile + ein. Dies aktiviert die Erkennung von PCI-Karten und die PCI-ISA + bridge. + + # Floppy drives +device fdc0 at isa? port IO_FD1 irq 6 drq 2 +device fd0 at fdc0 drive 0 +device fd1 at fdc0 drive 1 + + Der Floppy-Controller. fd0 ist das + A: Laufwerk und fd1 ist + das B: Laufwerk. + + device ata + + Dieser Treiber unterstützt alle ARA und ATAPI Geräte. + Eine device ata Zeile reicht aus und der + Kernel wird auf modernen Maschinen alle PCI ATA/ATAPI Geräte + entdecken. + + device atadisk # ATA disk drives + + Für ATAPI Plattenlaufwerke brauchen Sie diese Zeile zusammen + mit device ata. + + +device atapicd # ATAPI CDROM drives + + Zusammen mit device ata wird dies für + ATAPI CDROM Laufwerke benötigt. + + device atapifd # ATAPI floppy drives + + Zusammen mit device ata wird dies für + ATAPI Floppy Laufwerke benötigt. + + device atapist # ATAPI tape drives + + Zusammen mit device ata wird dies für + ATAPI Bandlaufwerke benötigt. + + options ATA_STATIC_ID #Static device numbering + + Erzwingt wie der alte Treiber eine statische Gerätenummer + für den Controller. Ist diese Option nicht aktiviert, werden + die Gerätenummern dynamisch zugeordnet. + + # ATA and ATAPI devices +device ata0 at isa? port IO_WD1 irq 14 +device ata1 at isa? port IO_WD2 irq 15 + + Benutzen Sie die obigen Zeilen für ältere Systeme ohne + einen PCI Bus. + + # SCSI Controllers +device ahb # EISA AHA1742 family +device ahc # AHA2940 and onboard AIC7xxx devices +device amd # AMD 53C974 (Teckram DC-390(T)) +device dpt # DPT Smartcache - See LINT for options! +device isp # Qlogic family +device ncr # NCR/Symbios Logic +device sym # NCR/Symbios Logic (newer chipsets) + +device adv0 at isa? +device adw +device bt0 at isa? +device aha0 at isa? +device aic0 at isa? + + 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. + + # SCSI peripherals +device scbus # SCSI bus (required) +device da # Direct Access (disks) +device sa # Sequential Access (tape etc) +device cd # CD +device pass # Passthrough device (direct SCSI +access) + + SCSI Peripheriegeräte. Kommentieren Sie wieder alle + Geräte aus, die Sie nicht besitzen. Besitzer von IDE-Systemen + können alle Einträge entfernen. + + # RAID controllers +device ida # Compaq Smart RAID +device amr # AMI MegaRAID +device mlx # Mylex DAC960 family + + Unterstützte RAID Controller. Wenn Sie keinen der + aufgeführten Controller besitzen, kommentieren Sie die + Einträge aus oder entfernen sie. + + # atkbdc0 controls both the keyboard and the PS/2 mouse +device atkbdc0 at isa? port IO_KBD + + 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. + + device atkbd0 at atkbdc? irq 1 + + Zusammen mit dem atkbdc Controller bietet der + atkbd Treiber Zugriff auf AT-Tastaturen. + + device psm0 at atkbdc? irq 12 + + Benutzen Sie dieses Gerät, wenn Sie eine Maus mit PS/2 + Anschluß besitzen. + + device vga0 at isa? + + Der Grafikkartentreiber. + + # splash screen/screen saver +pseudo-device splash + + Zeigt einen Splash Screen beim Booten. Diese + Zeile wird auch von den Bildschirmschonern benötigt. + + # syscons is the default console driver, resembling an SCO console +device sc0 at isa? + + sc0 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 + vt0, 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. + + # Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver +#device vt0 at isa? +#options XSERVER # support for X server on a vt console +#options FAT_CURSOR # start with block cursor +# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines +#options PCVT_SCANSET=2 # IBM keyboards are non-std + + Der VT220 kompatible Konsolentreiber ist kompatibel zu VT100/102. + Auf einigen Laptops, die aufgrund der Hardware inkompatibel zum + sc0 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 sc0 Gerät fehlen. Dagegen + sollte vt100 auf jeder Plattform unterstützt + werden. + + # Power management support (see LINT for more options) +device apm0 at nexus? disable flags 0x20 # Advanced Power Management + + Unterstützung zur Energieverwaltung. Nützlich für + Laptops. + + # PCCARD (PCMCIA) support +device card +device pcic0 at isa? irq 10 port 0x3e0 iomem 0xd0000 +device pcic1 at isa? irq 11 port 0x3e2 iomem 0xd4000 disable + + PCMCIA Unterstützung. Wenn Sie einen Laptop benutzen, + brauchen Sie diese Zeile. + + # Serial (COM) ports +device sio0 at isa? port IO_COM1 flags 0x10 irq 4 +device sio1 at isa? port IO_COM2 irq 3 +device sio2 at isa? disable port IO_COM3 irq 5 +device sio3 at isa? disable port IO_COM4 irq 9 + + Es gibt vier serielle Schnittstellen, die in der MS-DOS/Windows + Welt COM1 bis COM4 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 =IRQ9). Wenn Sie eine serielle + Multiport-Karte besitzen, sehen Sie die korrekten Werte für + diese Zeilen in &man.sio.4; nach. 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-Adreßraum nicht sauber. Dies führt + zu Konflikten und blockiert dann die COM4 Schnittstelle. + + Jeder seriellen Schnittstelle muß ein eigener IRQ zugewiesen + werden (wenn Sie eine Multiport-Karte verwenden, bei der das Teilen + von Interrupts unterstützt wird, muß das nicht der Fall + sein), daher können in der Voreinstellung COM3 und COM4 nicht + benutzt werden. + + + # Parallel port +device ppc0 at isa? irq 7 + + Die parallele Schnittstelle auf dem ISA Bus. + + device ppbus # Parallel port bus (required) + + Unterstützung für den Bus auf der parallelen + Schnittstelle. + + device lpt # Printer + + 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. + + + device plip # TCP/IP over parallel + + Der Treiber für das Netzwerkinterface über die + parallele Schnittstelle. + + device ppi # Parallel port interface device + + Allgemeine I/O (geek port) und IEEE1284 I/O + Unterstützung. + + #device vpo # Requires scbus and da + + Zip Laufwerk + 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. + + # PCI Ethernet NICs. +device de # DEC/Intel DC21x4x (Tulip) +device fxp # Intel EtherExpress PRO/100B (82557, 82558) +device tx # SMC 9432TX (83c170 EPIC) +device vx # 3Com 3c590, 3c595 (Vortex) +device wx # Intel Gigabit Ethernet Card (Wiseman) + + Verschiedene Treiber für PCI-Netzwerkkarten. Geräte, + die sich nicht in Ihrem System befinden, können Sie entfernen oder + auskommentieren. + + # PCI Ethernet NICs that use the common MII bus controller code. +device miibus # MII bus support + + 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. + + device dc # DEC/Intel 21143 and various workalikes +device rl # RealTek 8129/8139 +device sf # Adaptec AIC-6915 (Starfire) +device sis # Silicon Integrated Systems SiS 900/SiS 7016 +device ste # Sundance ST201 (D-Link DFE-550TX) +device tl # Texas Instruments ThunderLAN +device vr # VIA Rhine, Rhine II +device wb # Winbond W89C840F +device xl # 3Com 3c90x (Boomerang, Cyclone) + + Treiber, die den MII Bus Controller Code benutzen. + + # ISA Ethernet NICs. +device ed0 at isa? port 0x280 irq 10 iomem 0xd8000 +device ex +device ep +# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really +# exists only as a PCMCIA device, so there is no ISA attachment needed +# and resources will always be dynamically assigned by the pccard code. +device wi +# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will +# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP +# mode (the factory default). If you set the switches on your ISA +# card for a manually chosen I/O address and IRQ, you must specify +# those parameters here. +device an +# The probe order of these is presently determined by i386/isa/isa_compat.c. +device ie0 at isa? port 0x300 irq 10 iomem 0xd0000 +device fe0 at isa? port 0x300 +device le0 at isa? port 0x300 irq 5 iomem 0xd0000 +device lnc0 at isa? port 0x280 irq 10 drq 0 +device cs0 at isa? port 0x300 +device sn0 at isa? port 0x300 irq 10 +# requires PCCARD (PCMCIA) support to be activated +#device xe0 at isa? + + Treiber für ISA Ethernet Karten. Schauen Sie in + /usr/src/sys/i386/conf/LINT nach, um zu sehen, + welche Karte von welchem Treiber unterstützt wird. + + pseudo-device ether # Ethernet support + + ether brauchen Sie nur, wenn Sie eine + Ethernet-Karte besitzen. Der Treiber unterstützt das + Ethernet-Protokoll. + + pseudo-device sl 1 # Kernel SLIP + + 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. Die + Zahl hinter sl gibt der + Anzahl der gleichzeitigen SLIP-Verbindungen an, die unterstützt + werden. + + pseudo-device ppp 1 # Kernel PPP + + 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 Auswahl + auf Anforderung. Die Zahl hinter + ppp gibt die Anzahl gleichzeitiger PPP + Verbindungen an, die unterstützt werden. + + pseudo-device tun # Packet tunnel. + + 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. + + +pseudo-device pty # Pseudo-ttys (telnet etc) + + Dies ist ein Pseudo-Terminal oder simulierter + Login-Terminal. Er wird von einkommenden telnet + und rlogin Verbindungen, + xterm und anderen Anwendungen wie + emacs benutzt. Eine + Zahl hinter pty gibt + die Anzahl der zu erstellenden ptys an. Wenn Sie + mehr Verbindungen als die 16 erlaubten in der Voreinstellung brauchen, + erhöhen Sie diesen Wert bis zu einem Maximum von 256. + + pseudo-device md # Memory disks + + Pseudo-Gerät für Speicher-Laufwerke. + + pseudo-device gif + + oder + + pseudo-device gif 4 # IPv6 and IPv4 tunneling + + Dieses Gerät tunnelt IPv6 über IPv4, IPv4 über + IPv6, IPv4 über IPv4 oder IPv6 über IPv6. Ab FreeBSD 4.4 + kann die Zahl der benötigten Geräte vom System bestimmt + werden, so daß Sie die erste Zeile (ohne eine Zahl hinter + gif) verwenden sollten. Auf früheren + Systemen ist die Angabe der Anzahl der Geräte verpflichtend. + + pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation) + + 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. + + # The `bpf' pseudo-device enables the Berkeley Packet Filter. +# Be aware of the administrative consequences of enabling this! +pseudo-device bpf # Berkeley packet filter + + 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 &man.tcpdump.1; untersucht werden. + + + Das bpf Pseudo-Gerät wird von + &man.dhclient.8; genutzt, um die IP-Adresse des Default-Routers + zu bekommen. Wenn Sie DHCP benutzen, lassen Sie diese Option bitte + aktiviert. + + + # USB support +#device uhci # UHCI PCI->USB interface +#device ohci # OHCI PCI->USB interface +#device usb # USB Bus (required) +#device ugen # Generic +#device uhid # Human Interface Devices +#device ukbd # Keyboard +#device ulpt # Printer +#device umass # Disks/Mass storage - Requires scbus and da +#device ums # Mouse +# USB Ethernet, requires mii +#device aue # ADMtek USB ethernet +#device cue # CATC USB ethernet +#device kue # Kawasaki LSI USB ethernet + + Unterstützung für verschiedene USB Geräte. + + Mehr Informationen und weitere von FreeBSD unterstützte + Geräte entnehmen Sie bitte + /usr/src/sys/i386/conf/LINT. + + + + Gerätedateien erstellen + + Gerätedateien + + MAKEDEV + + + + Zu fast jedem Gerät gehört eine Datei in + /dev, die zwar wie eine reguläre Datei + aussieht,tatsächlich aber eine Schnittstelle zum Kernel ist, die + Programme benutzen, um Zugriff auf das Gerät zu erlangen. + Das Shellskript /dev/MAKEDEV, das auch bei der + Installation des Systems ausgeführt wird, erstellt fast alle + unterstützten Gerätedateien. Es legt aber nicht + alle Gerätedateien an, das heißt, wenn + Sie im Kernel Unterstützung für ein neues Gerät + hinzugefügt haben, sollten Sie überprüfen, ob die + entsprechenden Einträge in dev vorhanden + sind. Wenn nicht, dann legen Sie sie, wie im folgenden Beispiel einfach + an: + + Angenommen, Sie wollen den Kernel um Unterstützung für + IDE-CDROMs erweitern. Dann müssen Sie folgende Zeile in der + Konfigurationsdatei einfügen: + + device acd0 + + Nun suschen Sie in /dev nach Dateien, die + mit acd0 beginnen, möglicherweise mit + c enden oder ein r vorgestellt + haben (der Eintrag für das rohe Gerät). + Wenn Sie die Einträge nicht finden, wechseln Sie in + /dev und führen dort das folgende Kommando + aus: + + + MAKEDEV + &prompt.root; sh MAKEDEV acd0 + + Nun sollten die Einträge acd0c und + racd0c in /dev vorhanden + sein. + + Das folgende Kommando legt die passenden Einträge für + Soundkarten an: + + &prompt.root; sh MAKEDEV snd0 + + + Wenn Sie Gerätedateien für Geräte wie + Soundkarten erstellen und andere Leute Zugriff auf Ihren Rechner + haben, wollen Sie vielleicht diese Geräte vor Zugriffen von + außen schützen. Sie erreichen dies, in dem Sie das + Gerät in /etc/fbtab aufnehmen. Weitere + Informationen stellt &man.fbtab.5; zur Verfügung. + + + Folgen Sie dieser Prozedur für alle Geräte, die nicht + in GENERIC eingetragen sind. + + Da alle SCSI Controller die gleichen Einträge in + /dev benutzen, brauchen Sie diese nicht erstellen. + Weiterhin haben Netzwerkkarten sowie SLIP/PPP-Pseudo-Geräte keine + Einträge in /dev. + + + + Wenn etwas schiefgeht + + Es gibt fünf Hauptfehlerquellen beim Erstellen eines + angepaßten Kernels: + + + + config verursacht Fehler: + + + Wenn config mißlingt, liegen + Fehler in der Kernelkonfigurationsdatei vor. Zum Glück + gibt config die die Zeilennummer der + Fehlerstelle an, so daß Sie diese schnell in + vi finden können. Beispielsweise + könnten Sie folgende Fehlermeldung sehen: + + config: line 17: syntax error + + Im Befehlsmodus von vi können Sie + sofort zur fraglichen Stelle springen, in dem Sie + 17G eingeben. Überprüfen Sie + dort durch Vergleichen mit GENERIC, + ob das Schlüsselwort richtig geschrieben ist. + + + + + make verursacht Fehler: + + + Wenn make mißlingt, liegen meistens + ebenfalls Fehler in der Konfigurationsdatei vor, die aber so + speziell sind, daß config sie nicht + findet. Überprüfen Sie wiederum Ihre Konfiguration + und wenn Sie keinen Fehler entdecken können, schicken Sie + eine Mail an &a.questions; mit Ihrer Kernelkonfiguration. Sie + sollten dann schnell Hilfe erhalten. + + + + + Der neue Kernel läßt sich nicht + installieren: + + + Wenn das Übersetzen des Kernels geklappt hat aber die + Installation nicht, weil make install oder + make installkernel fehlgeschlagen ist, + sollten Sie zuerst überprüfen, ob Ihr System in der + Sicherheitsstufe 1 (engl. secure level) läuft (siehe + &man.init.8;). Ihr alter Kernel ist durch die Immutable Option + vor Veränderungen geschützt und die + Installationsprozedur versucht, diese Option vom alten Kernel + zu entfernen und auf den neuen Kernel zu setzen. Da in der + Sicherheitsstufe 1 die Immutable Option nicht gesetzt werden + kann, muß die Installation des Kernels in der + Sicherheitsstufe 0 oder einer niedrigeren stattfinden. + + + + + Der Kernel bootet nicht: + + + Wenn der Kernel nicht booten will, ist das noch lange kein + Grund zur Panik. Denn BSD besitzt exzellente Mechanismen zur + Wiederherstellung nach dem Einsatz inkompatibler Kernel. + Den Kernel, mit dem Sie booten wollen, können Sie sich + im FreeBSD Boot Loader aussuchen. In den Loader gelangen Sie, + in dem Sie einfach eine Taste außer + Enter drücken, wenn das System von 10 + herunterzählt. Geben Sie dann unload + ein und mit boot kernel.old + booten Sie den alten Kernel. Sie können hier + natürlich auch den Dateinamen eines anderen Kernels, der + sauber bootet angeben. Für alle Fälle sollten Sie + immer einen Kernel, der garantiert bootet, bereit + halten. + + Nun können Sie die Konfiguration noch einmal + überprüfen und den Kernel neu kompilieren. Dazu + ist /var/log/messages sehr nützlich, + da hier sämtliche Kernelmeldungen von jedem erfolgreichen + Bootvorgang gespeichert werden. &man.dmesg.8; gibt Ihnen die + Kernelmeldungen vom letzten Bootvorgang aus. + + + Heben Sie sich immer einen GENERIC + oder einen anderen Kernel, der garantiert bootet, für + den Fall, daß Sie Probleme bei dem Bau des Kernels + bekommen, auf. Der Name dieses Kernels sollte so + gewählt sein, daß er beim nächsten Bau nicht + überschrieben wird. Sie können sich nicht auf + kernel.old verlassen, da dieser Kernel + durch den zuletzt installierten Kernel, der vielleicht schon + kaputt war, ersetzt wird, wenn Sie installieren. Kopieren + Sie einen laufenden Kernel so schnell wie möglich an die + richtige Stelle (/kernel), oder Kommandos + wie &man.ps.1; werden nicht richtig funktionieren. Um einen + anderen Kernel an die richtige Stelle zu schieben, + müssen Sie zuerst die Immutable Option von dem Kernel + entfernen, den make installiert + hat: + + &prompt.root; chflags noschg /kernel + + Wenn Sie den Befehl nicht ausführen können, + befinden Sie sich in einer höheren Sicherheitstsufe als 0. + Setzen Sie in /etc/rc.conf die Variable + kern_securelevel auf -1 + und booten Sie danach. Wenn der neue Kernel funktioniert, + können Sie die Variable wieder auf Ihren alten Wert + zurücksetzen. + + Wenn Sie den neuen Kernel, oder allgemein eine Datei, + mit der Immutable Option versehen wollen, um sie vor + Veränderungen zu schützen, führen Sie + folgenden Befehl aus: + + &prompt.root; chflags schg /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 4.X Kernel auf einem 3.X System), werden + Programme wie &man.ps.1; und &man.vmstat.8; nicht mehr + funktionieren. Sie müssen nun die + libkvm und die entsprechenden Programme + neu kompilieren. Das ist ein Grund dafür, warum man nie + einen Kernel, der nicht zur Systemversion paßt, benutzten + sollte. + + + + + + +