diff options
Diffstat (limited to 'de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml')
-rw-r--r-- | de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml | 1792 |
1 files changed, 0 insertions, 1792 deletions
diff --git a/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml b/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml deleted file mode 100644 index a081ea5fb7..0000000000 --- a/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml +++ /dev/null @@ -1,1792 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD German Documentation Project - - $FreeBSD$ - $FreeBSDde: de-docproj/books/handbook/kernelconfig/chapter.sgml,v 1.64 2004/07/07 23:07:08 mheinen Exp $ - basiert auf: 1.132 ---> - -<chapter id="kernelconfig"> - <chapterinfo> - <authorgroup> - <author> - <firstname>Jim</firstname> - <surname>Mock</surname> - <contrib>Erweitert und neu strukturiert von </contrib> - <!-- Mar 2000 --> - </author> - </authorgroup> - <authorgroup> - <author> - <firstname>Jake</firstname> - <surname>Hamby</surname> - <contrib>Ursprünglich veröffentlicht von </contrib> - <!-- 6 Oct 1995 --> - </author> - </authorgroup> - <authorgroup> - <author> - <firstname>Robert</firstname> - <surname>Altschaffel</surname> - <contrib>Übersetzt von </contrib> - <!-- 24 Dec 2001 --> - </author> - </authorgroup> - </chapterinfo> - - <title>Konfiguration des &os;-Kernels</title> - - <sect1 id="kernelconfig-synopsis"> - <title>Übersicht</title> - - <indexterm> - <primary>Kernel</primary> - <secondary>Erstellen eines angepassten Kernels</secondary> - </indexterm> - - <para>Der Kernel ist das Herz des &os; Betriebssystems. Er ist - verantwortlich für die Speicherverwaltung, das Durchsetzen - von Sicherheitsdirektiven, Netzwerkfähigkeit, Festplattenzugriffen - und vieles mehr. Obwohl &os; es immer mehr ermöglicht, dynamisch - konfiguriert zu werden, ist es ab und an notwendig, den Kernel - neu zu konfigurieren und zu kompilieren.</para> - - <para>Nachdem Sie dieses Kapitel gelesen haben, werden Sie Folgendes - wissen:</para> - - <itemizedlist> - <listitem> - <para>Wieso Sie Ihren Kernel neu konfigurieren sollten.</para> - </listitem> - - <listitem> - <para>Wie Sie eine Kernelkonfigurationsdatei erstellen oder - verändern.</para> - </listitem> - - <listitem> - <para>Wie Sie mit der Konfigurationsdatei einen neuen Kernel - kompilieren.</para> - </listitem> - - <listitem> - <para>Wie Sie den neuen Kernel installieren.</para> - </listitem> - - <listitem> - <para>Wie sie die benötigten Einträge in - <filename>/dev</filename> erstellen.</para> - </listitem> - - <listitem> - <para>Was zu tun ist, falls etwas schiefgeht.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="kernelconfig-custom-kernel"> - <title>Wieso einen eigenen Kernel bauen?</title> - - <para>Traditionell besaß &os; einen monolithischen Kernel. Das - bedeutet, dass der Kernel ein einziges großes Programm war, - das eine bestimmte Auswahl an Hardware unterstützte. - Also musste 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.</para> - - <para>Heutzutage vertritt &os; 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 - (<foreignphrase>kernel loadable modules</foreignphrase>).</para> - - <para>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.</para> - - <para>Das Erstellen eines angepaßten Kernels ist eines der - wichtigsten Rituale, das nahezu jeder Benutzer eines &unix; Systems erdulden - muss. Obwohl dieser Prozess recht viel Zeit in Anspruch nimmt, - bringt er doch viele Vorteile für Ihr &os; System. Der - <filename>GENERIC</filename> Kernel muss eine Vielzahl - unterschiedlicher Hardware unterstützen, im Gegensatz dazu - unterstützt ein angepasster Kernel nur - <emphasis>Ihre</emphasis> Hardware. Dies hat einige Vorteile:</para> - - <itemizedlist> - <listitem> - <para>Schnellerer Bootvorgang. Da der Kernel nach weniger Geräten - sucht, ist die Boot-Sequenz weitaus schneller.</para> - </listitem> - - <listitem> - <para>Geringere Speicherausnutzung. Ein eigener Kernel benötigt - in der Regel weniger Speicher als ein <filename>GENERIC</filename> - Kernel, was vorteilhaft ist, da der Kernel immer im RAM verweilt. - Insbesondere profitieren Systeme mit wenig RAM davon.</para> - </listitem> - - <listitem> - <para>Zusätzliche Hardwareunterstützung. Ein - angepasster Kernel kann Unterstützung für Geräte - wie Soundkarten bieten, die im <filename>GENERIC</filename> Kernel - nicht unterstützt werden.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="kernelconfig-building"> - <title>Erstellen und Installation eines angepassten - Kernels</title> - <indexterm> - <primary>Kernel</primary> - <secondary>Erstellen und Installation</secondary> - </indexterm> - - <para>Zuerst erläutern wir die Verzeichnisstruktur, in der der - Kernel gebaut wird. Die im Folgenden genannten Verzeichnisse sind - relativ zu <filename>/usr/src/sys</filename> angegeben, das Sie auch - über <filename>/sys</filename> erreichen können. Es existieren - mehrere Unterverzeichnisse, die bestimmte Teile des Kernels - darstellen, aber die für uns wichtigsten sind - <filename><replaceable>arch</replaceable>/conf</filename>, in dem - Sie die Konfigurationsdatei für den angepassten Kernel - erstellen werden, und <filename>compile</filename>, in dem der Kernel - gebaut wird. <replaceable>arch</replaceable> kann entweder - <filename>i386</filename>, <filename>alpha</filename> oder - <filename>pc98</filename> (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 &os; portiert werden kann, gleich ist. - Beachten Sie die Verzeichnisstruktur, die jedem unterstützten - Gerät, jedem Dateisystem und jeder Option ein eigenes - Verzeichnis zuordnet. Ab &os; 5.X wird die - <filename>sparc64</filename>-Architektur unterstützt - und es existieren Verzeichnisse für weitere Architekturen, - an denen allerdings noch gearbeitet wird.</para> - - <note> - <para>Falls Sie kein <filename>/usr/src/sys</filename> Verzeichnis - vorfinden, so sind die Kernelquellen nicht installiert. Der - einfachste Weg dies nachzuholen, ist - <command>/stand/sysinstall</command> als <username>root</username> - auszuführen. Dort wählen Sie - <guimenuitem>Configure</guimenuitem>, dann - <guimenuitem>Distributions</guimenuitem>, dann - <guimenuitem>src</guimenuitem> und schließlich - <guimenuitem>sys</guimenuitem>. Wenn Sie eine - Aversion gegen <application>sysinstall</application> haben und eine - <quote>offizielle</quote> &os; CD-ROM besitzen, können Sie - die Kernelquellen auch von der Kommandozeile installieren:</para> - - <screen>&prompt.root; <userinput>mount /cdrom</userinput> -&prompt.root; <userinput>mkdir -p /usr/src/sys</userinput> -&prompt.root; <userinput>ln -s /usr/src/sys /sys</userinput> -&prompt.root; <userinput>cat /cdrom/src/ssys.[a-d]* | tar -xzvf -</userinput></screen> - </note> - - <para>Als nächstes wechseln sie in das Verzeichnis, in dem die - <filename>GENERIC</filename> Konfigurationsdatei liegt und kopieren - diese in eine Datei mit dem Namen, den Sie Ihrem Kernel geben - wollen:</para> - - <screen>&prompt.root; <userinput>cd /usr/src/sys/i386/conf</userinput> -&prompt.root; <userinput>cp GENERIC MYKERNEL</userinput></screen> - - <para>Traditionell ist der Name des Kernels immer in Großbuchstaben. - Wenn Sie mehrere &os; mit unterschiedlicher Hardware warten, ist - es nützlich, wenn Sie Konfigurationsdatei nach dem Hostnamen der - Maschinen benennen. Im Beispiel verwenden wir den Namen - <filename>MYKERNEL</filename>.</para> - - <tip> - <para>Es ist nicht zu empfehlen die Konfigurationsdatei direkt - unterhalb von <filename>/usr/src</filename> abzuspeichern. Wenn - Sie Probleme haben, könnten Sie der Versuchung erliegen, - <filename>/usr/src</filename> einfach zu löschen und wieder - von vorne anzufangen. Fünf Sekunden später werden Sie - dann feststellen, dass Sie soeben Ihre - Kernelkonfigurationsdatei gelöscht haben.</para> - - <para>Editieren Sie immer eine Kopie von <filename>GENERIC</filename>. - Änderungen an <filename>GENERIC</filename> können - verloren gehen, wenn der - <link linkend="cutting-edge">Quellbaum aktualisiert</link> - wird.</para> - - <para>Sie sollten die Konfigurationsdatei an anderer Stelle aufheben - und in <filename>i386</filename> einen Link auf die Datei - erstellen.</para> - - <para>Beispiel:</para> - - <screen>&prompt.root; <userinput>cd /usr/src/sys/i386/conf</userinput> -&prompt.root; <userinput>mkdir /root/kernels</userinput> -&prompt.root; <userinput>cp GENERIC /root/kernels/<replaceable>MYKERNEL</replaceable></userinput> -&prompt.root; <userinput>ln -s /root/kernels/<replaceable>MYKERNEL</replaceable></userinput></screen> - </tip> - - <note> - <para>Diese und die folgenden Kommandos müssen Sie als - <username>root</username> ausführen, da Sie sonst - <errortype>permission denied</errortype> Fehler erhalten.</para> - </note> - - <para>Jetzt editieren Sie <filename>MYKERNEL</filename> mit einem - Texteditor Ihres Vertrauens. Wenn Sie gerade neu anfangen, ist Ihnen - vielleicht nur der <application>vi</application> Editor bekannt, - der allerdings zu komplex ist, um hier erklärt zu werden. - Er wird aber in vielen Büchern aus der <link linkend="bibliography"> - Bibliographie</link> gut erklärt. &os; bietet aber auch - einen leichter zu benutzenden Editor, den <application>ee</application> - 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 - <filename>GENERIC</filename> zu dokumentieren.</para> - - <indexterm><primary>SunOS</primary></indexterm> - <para>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 <filename>GENERIC</filename> - Konfigurationsdatei Sie verschrecken. In diesen Fall sollten Sie - den Beschreibungen im Abschnitt über die - <link linkend="kernelconfig-config">Konfigurationsdatei</link> - langsam und vorsichtig folgen.</para> - - <note> - <para>Wenn Sie die <link linkend="cutting-edge">&os; Quellen - synchronisieren</link>, sollten Sie immer, bevor Sie etwas - verändern, <filename>/usr/src/UPDATING</filename> - durchlesen. Diese Datei enthält alle wichtigen Informationen, - die Sie beim Aktualisieren beachten müssen. - Da <filename>/usr/src/UPDATING</filename> immer zu Ihrer Version - der &os; Quellen passt, sind die Informationen dort genauer, - als in diesem Handbuch.</para> - </note> - - <para>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 &os; Sie - verwenden.</para> - - <itemizedlist> - <listitem> - <para>Wenn Sie <emphasis>nur</emphasis> die Kernelquellen - installiert haben, benutzen Sie das Verfahren 1.</para> - </listitem> - - <listitem> - <para>Wenn Sie eine &os; Version vor 4.0 benutzen und - <emphasis>nicht</emphasis> auf &os; 4.0 oder höher mit - <maketarget>make world</maketarget> migrieren, benutzen Sie - Verfahren 1.</para> - </listitem> - - <listitem> - <para>Wenn Sie einen neuen Kernel bauen wollen, ohne dabei den - Quellcode zu aktualisieren, weil Sie vielleicht nur eine neue - Option wie <literal>IPFIREWALL</literal> hinzugefügt haben, - können Sie jedes der Verfahren einsetzen.</para> - </listitem> - - <listitem> - <para>Wenn Sie als Teil eines <maketarget>make world</maketarget> den - Kernel aktualisieren, benutzen Sie das Verfahren 2.</para> - </listitem> - </itemizedlist> - - <procedure> - <title>Verfahren 1. Bau eines Kernels mit der - <quote>herkömmlichen</quote> Methode</title> - - <step> - <para>Generieren Sie die Kernel Quellen mit &man.config.8;.</para> - - <screen>&prompt.root; <userinput>/usr/sbin/config <replaceable>MYKERNEL</replaceable></userinput></screen> - </step> - - <step> - <para>Das vorige Kommando gibt das Bauverzeichnis aus. - Wechseln Sie jetzt in das Bauverzeichnis:</para> - - <screen>&prompt.root; <userinput>cd ../compile/<replaceable>MYKERNEL</replaceable></userinput></screen> - - <para>Wenn Sie eine &os;-Version vor 5.0 verwenden, - wechseln Sie wie folgt in das Bauverzeichnis:</para> - - <screen>&prompt.root; <userinput>cd ../../compile/<replaceable>MYKERNEL</replaceable></userinput></screen> - </step> - - <step> - <para>Kompilieren Sie den Kernel.</para> - - <screen>&prompt.root; <userinput>make depend</userinput> -&prompt.root; <userinput>make</userinput></screen> - </step> - - <step> - <para>Installieren Sie den neuen Kernel.</para> - - <screen>&prompt.root; <userinput>make install</userinput></screen> - </step> - </procedure> - - <procedure> - <title>Verfahren 2. Bau eines Kernels mit der <quote>neuen</quote> - Methode</title> - - <step> - <para>Wechseln Sie in das <filename>usr/src</filename> - Verzeichnis.</para> - - <screen>&prompt.root; <userinput>cd /usr/src</userinput></screen> - </step> - - <step> - <para>Kompilieren Sie den Kernel.</para> - - <screen>&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen> - </step> - - <step> - <para>Installieren Sie den neuen Kernel.</para> - - <screen>&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen> - </step> - </procedure> - - <note> - <para>Mit &os; 4.2 und älteren Versionen müssen Sie - <literal>KERNCONF</literal> durch <literal>KERNEL</literal> - ersetzen. 4.2-STABLE nach dem 2. Februar 2001 erkennt die - Option <literal>KERNCONF</literal>.</para> - </note> - - <indexterm> - <primary><command>cvsup</command></primary> - </indexterm> - <indexterm><primary>anonymous CVS</primary></indexterm> - <indexterm><primary>CTM</primary></indexterm> - <indexterm> - <primary>CVS</primary> - <secondary>anonymous</secondary> - </indexterm> - - <para>Ist der Quellbaum nach dem letzten erfolgreichen Bau - (<maketarget>buildworld</maketarget>, - <maketarget>installworld</maketarget>) unverändert, - das heißt Sie haben weder <application>CVSup</application>, - <application>CTM</application> noch - <application>anoncvs</application> laufen lassen, dann können - Sie die Sequenz <command>config</command>, - <maketarget>make depend</maketarget>, <maketarget>make</maketarget>, - <maketarget>make install</maketarget> benutzen.</para> - - <indexterm> - <primary><filename>kernel.old</filename></primary> - </indexterm> - <para>Der neue Kernel wird nach <filename>/kernel</filename> kopiert, - während der alte Kernel nach <filename>/kernel.old</filename> - 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 <link linkend="kernelconfig-trouble"> - Fehlersuche</link> am Ende dieses Kapitels nach. Dort sollten Sie - auch unbedingt den Abschnitt lesen, der erklärt, was zu tun - ist, <link linkend="kernelconfig-noboot">wenn der neue Kernel nicht - bootet</link>.</para> - - <note> - <para>Ab &os; 5.0 werden der neue Kernel und die Module - in das Verzeichnis <filename>/boot/kernel</filename> installiert. - Der alte Kernel und die dazugehörenden Module werden in das - Verzeichnis <filename>/boot/kernel.old</filename> gesichert. - Im Verzeichnis <filename>/boot</filename> werden auch andere - Dateien, die zum Systemstart benötigt werden, wie der - Boot-Loader (&man.loader.8;) und dessen Konfiguration, abgelegt. - Module von Fremdherstellern oder angepasste Module - werden in <filename>/boot/modules</filename> abgelegt. Beachten - Sie bitte, dass diese Module immer zu dem verwendeten Kernel passen - müssen, da Module, die nicht zu dem verwendeten Kernel passen, - die Stabilität des Systems gefährden.</para> - </note> - - <note> - <para>Wenn Sie neue Geräte, wie Soundkarten, hinzugefügt haben - und &os; 4.X oder eine frühere Version benutzen, - müssen Sie unter Umständen Gerätedateien in - <filename>/dev</filename> erstellen, bevor Sie die Geräte benutzen - können. Weitere Informationen finden Sie in <link - linkend="kernelconfig-nodes">Erstellen von Gerätedateien</link> - später in diesem Kapitel.</para> - </note> - </sect1> - - <sect1 id="kernelconfig-config"> - <title>Die Kernelkonfigurationsdatei</title> - <indexterm> - <primary>Kernel</primary> - <secondary>LINT</secondary> - </indexterm> - <indexterm><primary>LINT</primary></indexterm> - <indexterm> - <primary>Kernel</primary> - <secondary>Konfigurationsdatei</secondary> - </indexterm> - - <para>Das Format der Konfigurationsdatei ist recht einfach. Jede Zeile - enthält ein Schlüsselwort und ein oder mehrere Argumente. - Eine Zeile, die von einen <literal>#</literal> eingeleitet wird, gilt - als Kommentar und wird ignoriert. Die folgenden Abschnitte - beschreiben jedes Schlüsselwort in der Reihenfolge, in der es - in <filename>GENERIC</filename> auftaucht. Manche zusammengehörende - Schlüsselwörter werden in einem Abschnitt beschrieben, - obwohl Sie über <filename>GENERIC</filename> verstreut sind. - <anchor id="kernelconfig-options"> Eine ausführliche Liste aller - Optionen mit detaillierten Erklärungen finden Sie in der - Konfigurationsdatei <filename>LINT</filename>, die sich in demselben - Verzeichnis wie <filename>GENERIC</filename> befindet. Wenn Sie sich - über den Zweck oder die Notwendigkeit einer Zeile im Unklaren - sind, überprüfen Sie bitte diese bitte zuerst in - <filename>LINT</filename>.</para> - - <note> - <para>Ab &os; 5.X ist die Datei <filename>LINT</filename> - durch die Datei <filename>NOTES</filename> ersetzt worden. - Hauptsächlich architekturunabhängige Optionen - werden zudem in <filename>/usr/src/sys/conf/NOTES</filename> - gespeichert. Schauen Sie sich bitte auch diese - Optionen an.</para> - </note> - - <indexterm> - <primary>Kernel</primary> - <secondary>Beispiel Konfigurationsdatei</secondary> - </indexterm> - - <para>Das folgende Beispiel zeigt eine <filename>GENERIC</filename> - Konfigurationsdatei, die, wo notwendig, zusätzliche Kommentare - enthält. Sie sollte der Datei - <filename>/usr/src/sys/i386/conf/GENERIC</filename> auf Ihrem System - sehr ähnlich sein. Für detaillierte Informationen über - alle möglichen Optionen sehen Sie sich bitte - <filename>/usr/src/sys/i386/conf/LINT</filename> an.</para> - - <programlisting># -# 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/doc/en_US.ISO8859-1/books/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 -# &os; 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 ../../conf/NOTES and NOTES files. -# If you are in doubt as to the purpose or necessity of a line, check first -# in NOTES. -# -# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.380 2003/03/29 13:36:41 mdodd Exp $</programlisting> - - <para>Die folgenden Schlüsselwörter sind für - <emphasis>jeden</emphasis> Kernel, den Sie bauen, zwingend - erforderlich:</para> - <indexterm> - <primary>Kerneloption</primary> - <secondary>machine</secondary> - </indexterm> - - <programlisting>machine i386</programlisting> - - <para>Gibt die Architektur der Maschine an und muss entweder - <literal>i386</literal>, <literal>pc98</literal>, - <literal>sparc64</literal>, <literal>alpha</literal>, - <literal>ia64</literal>, <literal>amd64</literal> - oder <literal>powerpc</literal> sein.</para> - - <indexterm> - <primary>Kerneloption</primary> - <secondary>cpu</secondary> - </indexterm> - <programlisting>cpu I486_CPU -cpu I586_CPU -cpu I686_CPU</programlisting> - - <para>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 <literal>I586_CPU</literal> oder - <literal>I686_CPU</literal> 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 - <filename>/var/run/dmesg.boot</filename> gespeichert sind.</para> - - <indexterm> - <primary>Kerneloption</primary> - <secondary>CPU-Typ</secondary> - </indexterm> - - <para>In den Quellen von &os; ist die Option - <literal>I386_CPU</literal> noch enthalten, doch ist die - Option sowohl in -STABLE wie auch in -CURRENT deaktiviert. - Das heißt Sie haben die folgenden Möglichkeiten, - &os; auf einem 386-System zu installieren:</para> - - <itemizedlist> - <listitem> - <para>Installieren Sie ein älteres &os;-Release - und aktualisieren Sie das System mit den Quellen - wie in <xref linkend="kernelconfig-building"> beschrieben.</para> - </listitem> - - <listitem> - <para>Bauen Sie das Userland und den Kernel auf einer - neueren Maschine und installieren Sie die übersetzten - Dateien aus <filename>/usr/obj</filename>. Weitere - Details entnehmen Sie bitte <xref linkend="small-lan">.</para> - </listitem> - - <listitem> - <para>Bauen Sie Ihr eigenes FreeBSD-Release, dessen - Installations-CD einen Kernel enthält der - die Option <literal>I386_CPU</literal> unterstützt.</para> - </listitem> - </itemizedlist> - - <para>Die einfachste Möglichkeit ist sicher die erste. - Sie benötigen dazu allerdings sehr viel Plattenplatz, - der auf 386-Systemen vielleicht nicht vorhanden ist.</para> - - <indexterm> - <primary>Kerneloption</primary> - <secondary>ident</secondary> - </indexterm> - - <programlisting>ident GENERIC</programlisting> - - <para>Gibt den Namen Ihres Kernels an. Hier sollten Sie den Namen - einsetzen, den Sie Ihrer Konfigurationsdatei gegeben haben. In - unserem Beispiel ist das <literal>MYKERNEL</literal>. Der Wert, den - Sie <literal>ident</literal> 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.</para> - <indexterm> - <primary>Kerneloption</primary> - <secondary>maxusers</secondary> - </indexterm> - - <programlisting>maxusers <replaceable>n</replaceable></programlisting> - - <para>Die Größe wichtiger Systemtabellen wird von - <literal>maxusers</literal> bestimmt. Der Wert dieser Variablen - sollte ungefähr der Anzahl der Benutzer des Systems - entsprechen.</para> - - <para>Ab &os; 4.5 kann das System diesen Wert selbst setzen, wenn - Sie in der Konfigurationsdatei den Wert <literal>0</literal><footnote> - <para>Der verwendete Algorithmus setzt <literal>maxuser</literal> - auf die Speichergröße des Systems. Der minimale Wert - beträgt dabei <literal>32</literal>, das Maximum ist - <literal>384</literal>.</para></footnote> - angeben. Ab &os; 5.X wird <literal>maxusers</literal> - auf <literal>0</literal> gesetzt, wenn die Option nicht angegeben - wird. Wenn Sie eine frühere Version als &os; 4.5 - einsetzen, oder den Wert selbst bestimmen wollen, sollten Sie - <literal>maxusers</literal> mindestens auf <literal>4</literal> - setzen, insbesondere wenn Sie beabsichtigen, das X Window System - zu benutzen oder Software zu kompilieren. Der Grund dafür ist, - dass der wichtigste Wert, der von <literal>maxusers</literal> - bestimmt wird, die maximale Anzahl an Prozessen ist, die auf - <literal>20 + 16 * maxusers</literal> gesetzt wird. Wenn Sie also - <literal>maxusers</literal> 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 Manualpage, braucht neun Prozesse zum Filtern, - Dekomprimieren und Anschauen. Für die meisten Benutzer sollte - es ausreichen, <literal>maxusers</literal> auf 64 zu setzen, womit - 1044 gleichzeitige Prozesse zur Verfügung stehen.Wenn Sie - allerdings den gefürchteten <errortype>proc table full</errortype> - Fehler, beim Versuch ein Programm zu starten oder auf einem Server - mit einer großen Benutzerzahl (wie - <hostid role="fqdn">ftp.FreeBSD.org</hostid>) sehen, dann - sollten Sie den Wert erhöhen und den Kernel neu bauen.</para> - - <note> - <para>Die Anzahl der Benutzer, die sich auf einer Maschine anmelden - können, wird <emphasis>nicht</emphasis> durch - <literal>maxusers</literal> begrenzt. Der Wert dieser Variablen, - zusammen mit einer angenommenen Anzahl Prozesse pro - Benutzer, legt sinnvolle Größen für bestimmte - Systemtabellen fest. Die Option <link - linkend="kernelconfig-ptys"><literal>pseudo-device pty 16</literal></link> - legt die Anzahl der erlaubten Anmeldungen von - entfernten Systemen und X-Terminals fest. Unter - &os; 5.X brauchen Sie sich um die Anzahl der - Geräte nicht mehr zu kümmern. Der - &man.pty.4;-Treiber erstellt automatisch neue - Geräte. In der Konfigurationsdatei müssen Sie - die Anweisung <literal>device pty</literal> verwenden.</para> - </note> - - <programlisting># Floating point support - do not disable. -device npx0 at nexus? port IO_NPX irq 13</programlisting> - - <para><literal>npx0</literal> ist die Schnittstelle zur - Fließkomma-Einheit in &os;. Dies kann entweder ein - Coprozessor oder eine mathematische Software-Emulation sein. Die - Angabe dieser Option ist <emphasis>verpflichtend</emphasis>.</para> - - <programlisting># Pseudo devices - the number indicates how many units to allocate. -device loop # Network loopback</programlisting> - - <para>Das TCP/IP Loopback Device. Wenn Sie eine Telnet oder FTP - Verbindung zu <hostid>localhost</hostid> (a.k.a., <hostid - role="ipaddr">127.0.0.1</hostid>) aufbauen, erstellen Sie eine - Verbindung zu sich selbst durch dieses Device. Die Angabe - dieser Option ist <emphasis>verpflichtend</emphasis>. - Unter &os; 4.X müssen Sie die Zeile - <literal>pseudo-device loop</literal> verwenden.</para> - - <para>Das Folgende ist mehr oder weniger optional. Mehr Informationen - enthalten die Anmerkungen unter oder neben den diskutierten - Optionen.</para> - - <programlisting>#To statically compile in device wiring instead of /boot/device.hints -#hints "GENERIC.hints" #Default places to look for devices.</programlisting> - - <para>Ab &os; 5.X werden Geräte mit &man.device.hints.5; - konfiguriert. In der Voreinstellung überprüft - &man.loader.8; beim Systemstart die Datei - <filename>/boot/device.hints</filename>. Die Option - <literal>hints</literal> erlaubt es, die Gerätekonfiguration - statisch in den Kernel einzubinden, sodass die Datei - <filename>device.hints</filename> in <filename>/boot</filename> - nicht benötigt wird.</para> - - <!-- XXX: Add a comment here that explains when compiling hints into the kernel is a good idea and why. --> - - <programlisting>#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols</programlisting> - - <para>Der normale Bauprozess von FreeBSD erstellt einen Kernel, - der keine Debugging-Informationen enthält. Nachdem der - Kernel gebunden ist, werden die meisten Symbole entfernt, - um bei der Installation Platz zu sparen. Wenn Sie Kernel - auf dem -CURRENT-Zweig testen oder eigene Änderungen - im Kernel vornehmen, sollten Sie vielleicht diese Zeile - aktivieren. &man.gcc.1; wird dann mit der Option - <option>-g</option> aufgerufen und erzeugt die - Debugging-Informationen. Erstellen Sie den Kernel mit der - herkömmlichen Methode (siehe - <xref linkend="kernelconfig-building">), erreichen Sie - dasselbe, wenn Sie &man.config.8; mit der Option - <option>-g</option> aufrufen.</para> - - <programlisting>options MATH_EMULATE #Support for x87 emulation</programlisting> - - <para>Diese Zeile schaltet die Software-Emulation eines mathematischen - Coprozessors für den Fall, das Ihre Maschine keinen besitzt (386 - oder 486SX), ein. Wenn Sie einen 386 oder 486SX mit dem - dazugehörigen Coprozessor (387 oder 487), einen 486DX oder - besser (wie &pentium;, &pentium; II) besitzen, können - Sie diese Zeile auskommentieren.</para> - - <note> - <para>Die normalen Emulationsroutinen für den Coprozessor in - &os; sind <emphasis>nicht</emphasis> sehr genau. Wenn Sie - keinen Coprozessor besitzen, sollten Sie hier - <literal>GPL_MATH_EMULATE</literal> einsetzen, um die - Unterstützung der GNU Routinen zu aktivieren. Wegen der damit - verbundenen Lizenz, ist diese Option in der Voreinstellung nicht - aktiviert.</para> - - <para>Ab &os; 5.0 ist die Emulation eines mathematischen - Coprozessors in der Voreinstellung ausgeschaltet, da heute nicht - mehr so viele alte CPUs ohne Coprozessor eingesetzt werden. - Damit der <filename>GENERIC</filename>-Kernel mit diesen - CPUs zusammenarbeitet, müssen oft noch weitere Optionen - aktiviert werden.</para> - </note> - - <programlisting>options INET #InterNETworking</programlisting> - - <para>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.</para> - - <programlisting>options INET6 #IPv6 communications protocols</programlisting> - - <para>Aktiviert die Unterstützung für das IPv6 - Protokoll.</para> - - <programlisting>options FFS #Berkeley Fast Filesystem -options FFS_ROOT #FFS usable as root device [keep this!]</programlisting> - - <para>Das Dateisystem für Festplatten. Wenn Sie von einer - Festplatte booten wollen, lassen Sie diese Option aktiviert.</para> - - <note> - <para>Ab &os; 5.0 wird <literal>FFS_ROOT</literal> nicht mehr - benötigt.</para> - </note> - - <programlisting>options UFS_ACL #Support for access control lists</programlisting> - - <para>Diese Option, die es erst ab &os; 5.0 gibt, aktiviert - Zugriffskontrolllisten (<acronym>ACL</acronym>). Die - <acronym>ACL</acronym>s hängen von - erweiterten Attributen und <acronym>UFS2</acronym> ab, - eine genaue Beschreibung finden - Sie in <xref linkend="fs-acl">. 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.</para> - - <programlisting>options UFS_DIRHASH #Improve performance on big directories</programlisting> - - <para>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.</para> - - <programlisting>options SOFTUPDATES #Enable FFS Soft Updates support</programlisting> - - <para>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 &man.mount.8;, ob die Dateisysteme - Soft Updates benutzen. Wenn die Option - <literal>soft-updates</literal> nicht aktiviert ist, können - Sie die Option nachträglich mit &man.tunefs.8; aktivieren. - Für neue Dateisysteme können Sie Option beim Anlegen mit - &man.newfs.8; aktivieren.</para> - - <programlisting>options MFS #Memory Filesystem -options MD_ROOT #MD is a potential root device</programlisting> - - <para>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 - <filename>/tmp</filename> Verzeichnis, da dort sehr viele Programme - temporäre Daten speichern. Um eine MFS RAM-Disk auf - <filename>/tmp</filename> einzurichten, fügen Sie die folgende - Zeile in <filename>/etc/fstab</filename> hinzu:</para> - - <informalexample> - <programlisting>/dev/ad1s2b /tmp mfs rw 0 0</programlisting> - </informalexample> - - <para>Um das Dateisystem einzuhängen, können Sie nun booten - oder rufen das Kommando <command>mount /tmp</command> auf.</para> - - <note> - <para>Ab &os; 5.0 werden RAM-disks mit &man.md.4; erstellt, - daher wird die Option <literal>MFS</literal> nicht mehr - unterstützt. Wie RAM-disks eingerichtet werden, - beschreiben die Hilfeseiten &man.mdconfig.8; und - &man.mdmfs.8; sowie <xref linkend="disks-virtual">.</para> - </note> - - <indexterm> - <primary>Kerneloption</primary> - <secondary>NFS</secondary> - </indexterm> - <indexterm> - <primary>Kerneloption</primary> - <secondary>NFS_ROOT</secondary> - </indexterm> - <programlisting>options NFS #Network Filesystem -options NFS_ROOT #NFS usable as root device, NFS required</programlisting> - - <para>Das Network Filesystem. Wenn Sie keine Partitionen von einem - UNIX File-Server über TCP/IP einhängen wollen, können - Sie diese Zeile auskommentieren.</para> - - <indexterm> - <primary>Kerneloption</primary> - <secondary>MSDOSFS</secondary> - </indexterm> - <programlisting>options MSDOSFS #MSDOS Filesystem</programlisting> - - <para>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 <application>mtools</application> aus der - Ports-Sammlung auf DOS-Floppies zugreifen, ohne diese an- und - abhängen zu müssen (<literal>MSDOSFS</literal> wird in - diesem Fall nicht benötigt).</para> - - <programlisting>options CD9660 #ISO 9660 Filesystem -options CD9660_ROOT #CD-ROM usable as root, CD9660 required</programlisting> - - <para>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.</para> - - <programlisting>options PROCFS #Process filesystem</programlisting> - - <para>Das Prozeß-Dateisystem. Dies ist ein Pseudo-Dateisystem, - das auf <filename>/proc</filename> eingehangen wird und es Programmen - wie &man.ps.1; erlaubt, mehr Informationen über laufende Prozesse - auszugeben. Ab &os; 5.0 sollte <literal>PROCFS</literal> - nicht mehr benötigt werden, da die meisten Debug- und - Überwachungs-Werkzeuge nicht mehr darauf angewiesen sind. Wenn - <literal>PROCFS</literal> mit &os; 5.0 benutzt werden soll, - wird zusätzlich noch die Option <literal>PSEUDOFS</literal> - benötigt:</para> - - <programlisting>options PSEUDOFS #Pseudo-filesystem framework</programlisting> - - <para><literal>PSEUDOFS</literal> steht unter &os; 4.X nicht - zur Verfügung. Im Gegensatz zu &os; 4.X wird ab - &os; 5.0 das Prozeß-Dateisystem nicht mehr per - Voreinstellung eingehangen.</para> - - <programlisting>options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]</programlisting> - - <para>Stellt die Kompatibilität zu 4.3BSD sicher. Belassen Sie - diese Option, da sich manche Programme recht sonderbar verhalten - werden, wenn Sie diese auskommentieren.</para> - - <programlisting>options COMPAT_FREEBSD4 #Compatible with FreeBSD4</programlisting> - - <para>Mit &os; 5.X stellt diese Option auf &i386;- und - Alpha-Systemen sicher, dass Anwendungen, die auf älteren &os; - Versionen übersetzt wurden und alte Systemaufrufe verwenden, - noch lauffähig sind. Wir empfehlen, diese Option auf allen - &i386;- und Alpha-Systemen zu verwenden, auf denen vielleicht noch - ältere Anwendungen laufen sollen. Auf Plattformen, die erst ab - &os; 5.0 unterstützt werden (wie ia64 und &sparc;), - wird diese Option nicht benötigt.</para> - - <programlisting>options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI</programlisting> - - <para>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 besitzen, können Sie die Anweisung - ignorieren. Sie können versuchen, den Wert auf 5 Sekunden - senken, um den Startvorgang zu beschleunigen. Wenn - &os; dann Schwierigkeiten hat, Ihre SCSI-Geräte zu erkennen, - sollten Sie den Wert natürlich wieder erhöhen.</para> - - <programlisting>options UCONSOLE #Allow users to grab the console</programlisting> - - <para>Erlaubt es Benutzern, die Konsolenausgabe umzulenken. Starten - Sie einen <application>xterm</application> mit - <command>xterm -C</command>, um Ausgaben von &man.write.1;, - &man.talk.1; oder Kernelmeldungen auf der Konsole darin zu - sehen.</para> - - <note> - <para>Ab &os; 5.0 wird <literal>UCONSOLE</literal> nicht mehr - benötigt.</para> - </note> - - <programlisting>options USERCONFIG #boot -c editor</programlisting> - - <para>Diese Option erlaubt es Ihnen, den Konfigurationseditor aus dem - Bootmenü zu starten.</para> - - <programlisting>options VISUAL_USERCONFIG #visual boot -c editor</programlisting> - - <para>Diese Option erlaubt es Ihnen, den Visual-Konfigurationseditor - aus dem Bootmenü zu starten.</para> - - <note> - <para>Ab &os; 5.0 werden Geräte mit - &man.device.hints.5; anstelle des Konfigurationseditors konfiguriert, - dies wird in <xref linkend="device-hints"> erklärt.</para> - </note> - - <programlisting>options KTRACE #ktrace(1) support</programlisting> - - <para>Dies schaltet die Kernel-Prozessverfolgung - (engl. <foreignphrase>kernel process tracing</foreignphrase>) ein, - die sehr nützlich bei der Fehlersuche ist.</para> - - <programlisting>options SYSVSHM #SYSV-style shared memory</programlisting> - - <para>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.</para> - - <programlisting>options SYSVSEM #SYSV-style semaphores</programlisting> - - <para>Unterstützung für System V Semaphoren. Dies wird - selten gebraucht, vergrößert aber den Kernel nur um einige - hundert Bytes.</para> - - <programlisting>options SYSVMSG #SYSV-style message queues</programlisting> - - <para>Unterstützung für System V Messages. - Vergrößert den Kernel wiederum nur um einige hundert - Bytes.</para> - - <note> - <para>Programme, die diese System V Erweiterungen benutzen, - können Sie sich mit &man.ipcs.1; anzeigen lassen.</para> - </note> - - <programlisting>options P1003_1B #Posix P1003_1B real-time extensions -options _KPOSIX_PRIORITY_SCHEDULING</programlisting> - - <para>Echtzeit-Erweiterungen, die 1993 zu &posix; - hinzugefügt wurden. Bestimmte Programme wie - <application>&staroffice;</application> benutzen - diese Erweiterungen.</para> - - <note> - <para>Ab &os; 5.0 werden diese Funktionen von - <literal>_KPOSIX_PRIORITY_SCHEDULING</literal> alleine zur - Verfügung gestellt. <literal>P1003_1B</literal> wird nicht - mehr benötigt.</para> - </note> - - <indexterm> - <primary>Kerneloption</primary> - <secondary>ICMP_BANDLIM</secondary> - </indexterm> - <indexterm> - <primary>Denial of Service (DoS)</primary> - </indexterm> - <programlisting>options ICMP_BANDLIM #Rate limit bad replies</programlisting> - - <para>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.</para> - - <note> - <para>In der Voreinstellung von &os; 5.X ist diese Funktion - aktiviert. <literal>ICMP_BANDLIM</literal> muss daher nicht extra - angegeben werden.</para> - </note> - - <indexterm> - <primary>Kerneloption</primary> - <secondary>SMP</secondary> - </indexterm> - <programlisting># To make an SMP kernel, the next two are needed -#options SMP # Symmetric MultiProcessor Kernel -#options APIC_IO # Symmetric (APIC) I/O</programlisting> - - <para>Beide Option werden für SMP Unterstützung - benötigt.</para> - - <programlisting>device isa</programlisting> - - <para>Alle von &os; unterstützten PCs benötigen diese - Zeile, entfernen Sie diese Zeile auch dann nicht, wenn Ihre - Hauptplatine keine ISA-Steckplätze hat. - &os; unterstützt den IBM PS/2 (Microchannel - Architektur) nur eingeschränkt. Weitere Informationen über - die Microchannel Unterstützung entnehmen Sie bitte - <filename>/usr/src/sys/i386/conf/LINT</filename>.</para> - - <programlisting>device eisa</programlisting> - - <para>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.</para> - - <programlisting>device pci</programlisting> - - <para>Wenn Sie ein PCI-Motherboard besitzen, fügen Sie diese Zeile - ein. Dies aktiviert die Erkennung von PCI-Karten und die PCI-ISA - bridge.</para> - - <programlisting>device agp</programlisting> - - <para>Fügen Sie diese Zeile ein, wenn Sie eine AGP-Karte - besitzen. Damit werden Motherboards mit AGP und AGP GART - unterstützt.</para> - - <programlisting># 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</programlisting> - - <para>Der Floppy-Controller. <literal>fd0</literal> ist das - <devicename>A:</devicename> Laufwerk und <literal>fd1</literal> ist - das <devicename>B:</devicename> Laufwerk.</para> - - <programlisting>device ata</programlisting> - - <para>Dieser Treiber unterstützt alle ATA und ATAPI Geräte. - Eine <literal>device ata</literal> Zeile reicht aus und der - Kernel wird auf modernen Maschinen alle PCI ATA/ATAPI Geräte - entdecken.</para> - - <programlisting>device atadisk # ATA disk drives</programlisting> - - <para>Für ATA Plattenlaufwerke brauchen Sie diese Zeile zusammen - mit <literal>device ata</literal>.</para> - - <programlisting><anchor id="kernelconfig-atapi"> -device atapicd # ATAPI CDROM drives</programlisting> - - <para>Zusammen mit <literal>device ata</literal> wird dies für - ATAPI CD-ROM Laufwerke benötigt.</para> - - <programlisting>device atapifd # ATAPI floppy drives</programlisting> - - <para>Zusammen mit <literal>device ata</literal> wird dies für - ATAPI Floppy Laufwerke benötigt.</para> - - <programlisting>device atapist # ATAPI tape drives</programlisting> - - <para>Zusammen mit <literal>device ata</literal> wird dies für - ATAPI Bandlaufwerke benötigt.</para> - - <programlisting>options ATA_STATIC_ID #Static device numbering</programlisting> - - <para>Erzwingt wie der alte Treiber eine statische Gerätenummer - für den Controller. Ist diese Option nicht aktiviert, werden - die Gerätenummern dynamisch zugeordnet.</para> - - <programlisting># ATA and ATAPI devices -device ata0 at isa? port IO_WD1 irq 14 -device ata1 at isa? port IO_WD2 irq 15</programlisting> - - <para>Benutzen Sie die obigen Zeilen für ältere Systeme ohne - einen PCI Bus.</para> - - <programlisting># 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?</programlisting> - - <para>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.</para> - - <programlisting># 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)</programlisting> - - <para>SCSI Peripheriegeräte. Kommentieren Sie wieder alle - Geräte aus, die Sie nicht besitzen. Besitzer von IDE-Systemen - können alle Einträge entfernen.</para> - - <note> - <para>Der USB-&man.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.</para> - </note> - - <programlisting># RAID controllers -device ida # Compaq Smart RAID -device amr # AMI MegaRAID -device mlx # Mylex DAC960 family</programlisting> - - <para>Unterstützte RAID Controller. Wenn Sie keinen der - aufgeführten Controller besitzen, kommentieren Sie die - Einträge aus oder entfernen sie.</para> - - <programlisting># atkbdc0 controls both the keyboard and the PS/2 mouse -device atkbdc0 at isa? port IO_KBD</programlisting> - - <para>Der Tastatur-Controller (<literal>atkbdc</literal>) 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 (<literal>atkbd</literal>) und dem PS/2 - Gerätetreiber (<literal>psm</literal>) benötigt.</para> - - <programlisting>device atkbd0 at atkbdc? irq 1</programlisting> - - <para>Zusammen mit dem <literal>atkbdc</literal> Controller bietet der - <literal>atkbd</literal> Treiber Zugriff auf AT-Tastaturen.</para> - - <programlisting>device psm0 at atkbdc? irq 12</programlisting> - - <para>Benutzen Sie dieses Gerät, wenn Sie eine Maus mit PS/2 - Anschluss besitzen.</para> - - <programlisting>device vga0 at isa?</programlisting> - - <para>Der Grafikkartentreiber.</para> - - <programlisting># splash screen/screen saver -device splash</programlisting> - - <para>Zeigt einen <quote>Splash Screen</quote> beim Booten. Diese - Zeile wird auch von den Bildschirmschonern benötigt. - Unter &os; 4.X verwenden Sie bitte - <literal>pseudo-device splash</literal>.</para> - - <programlisting># syscons is the default console driver, resembling an SCO console -device sc0 at isa?</programlisting> - - <para><literal>sc0</literal> 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 <filename>termcap</filename> zugreifen, sollte es - keine Rolle spielen, ob Sie diesen Treiber oder - <literal>vt0</literal>, den <literal>VT220</literal> kompatiblen - Konsolentreiber einsetzen. Wenn Sie Probleme mit - bildschirmorientierten Anwendungen unter dieser Konsole haben, setzen - Sie beim Anmelden die Variable <envar>TERM</envar> auf den Wert - <literal>VT220</literal>.</para> - - <programlisting># 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</programlisting> - - <para>Der VT220 kompatible Konsolentreiber ist kompatibel zu VT100/102. - Auf einigen Laptops, die aufgrund der Hardware inkompatibel zum - <literal>sc0</literal> Treiber sind, funktioniert dieser Treiber gut. - Beim Anmelden sollten Sie die Variable <envar>TERM</envar> auf den - Wert <literal>vt100</literal> 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 - <filename>termcap</filename> oder <filename>terminfo</filename> - für das <literal>sc0</literal> Gerät fehlen. Dagegen - sollte <literal>vt100</literal> auf jeder Plattform unterstützt - werden.</para> - - <programlisting># Power management support (see LINT for more options) -device apm0 at nexus? disable flags 0x20 # Advanced Power Management</programlisting> - - <para>Unterstützung zur Energieverwaltung. Nützlich für - Laptops.</para> - - <programlisting># 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</programlisting> - - <para>PCMCIA Unterstützung. Wenn Sie einen Laptop benutzen, - brauchen Sie diese Zeile.</para> - - <programlisting># 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</programlisting> - - <para>Es gibt vier serielle Schnittstellen, die in der &ms-dos; - und &windows; Welt COM1 bis COM4 genannt werden.</para> - - <note> - <para>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 - <literal>0x*2e8</literal> und manche billige serielle Karten - dekodieren den 16-Bit IO-Adressraum nicht sauber. Dies führt - zu Konflikten und blockiert dann die COM4 Schnittstelle.</para> - - <para>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.</para> - </note> - - <programlisting># Parallel port -device ppc0 at isa? irq 7</programlisting> - - <para>Die parallele Schnittstelle auf dem ISA Bus.</para> - - <programlisting>device ppbus # Parallel port bus (required)</programlisting> - - <para>Unterstützung für den Bus auf der parallelen - Schnittstelle.</para> - - <programlisting>device lpt # Printer</programlisting> - - <para>Unterstützung für Drucker über die parallele - Schnittstelle.</para> - - <note> - <para>Sie brauchen jede der drei Zeilen, um die Unterstützung - für einen Drucker an der parallelen Schnittstelle zu - aktivieren.</para> - </note> - - <programlisting>device plip # TCP/IP over parallel</programlisting> - - <para>Der Treiber für das Netzwerkinterface über die - parallele Schnittstelle.</para> - - <programlisting>device ppi # Parallel port interface device</programlisting> - - <para>Allgemeine I/O (<quote>geek port</quote>) und IEEE1284 I/O - Unterstützung.</para> - - <programlisting>#device vpo # Requires scbus and da</programlisting> - - <indexterm><primary>Zip Laufwerk</primary></indexterm> - <para>Dies aktiviert den Treiber für ein Iomega Zip Laufwerk. - Zusätzlich benötigen Sie noch die Unterstützung - für <literal>scbus</literal> und <literal>da</literal>. Die - beste Performance erzielen Sie, wenn Sie die Schnittstelle im EPP 1.9 - Modus betreiben.</para> - - <programlisting># PCI Ethernet NICs. -device de # DEC/Intel DC21x4x (<quote>Tulip</quote>) -device fxp # Intel EtherExpress PRO/100B (82557, 82558) -device tx # SMC 9432TX (83c170 <quote>EPIC</quote>) -device vx # 3Com 3c590, 3c595 (<quote>Vortex</quote>) -device wx # Intel Gigabit Ethernet Card (<quote>Wiseman</quote>)</programlisting> - - <para>Verschiedene Treiber für PCI-Netzwerkkarten. Geräte, - die sich nicht in Ihrem System befinden, können Sie entfernen oder - auskommentieren.</para> - - <programlisting># PCI Ethernet NICs that use the common MII bus controller code. -device miibus # MII bus support</programlisting> - - <para>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 <literal>device miibus</literal> fügt dem Kernel die - Unterstützung für das allgemeine miibus API und allen - PHY-Treibern hinzu.</para> - - <programlisting>device dc # DEC/Intel 21143 and various workalikes -device rl # RealTek 8129/8139 -device sf # Adaptec AIC-6915 (<quote>Starfire</quote>) -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 (<quote>Boomerang</quote>, <quote>Cyclone</quote>)</programlisting> - - <para>Treiber, die den MII Bus Controller Code benutzen.</para> - - <programlisting># 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?</programlisting> - - <para>Treiber für ISA Ethernet Karten. Schauen Sie in - <filename>/usr/src/sys/i386/conf/LINT</filename> nach, um zu sehen, - welche Karte von welchem Treiber unterstützt wird.</para> - - <programlisting>device ether # Ethernet support</programlisting> - - <para><literal>ether</literal> brauchen Sie nur, wenn Sie eine - Ethernet-Karte besitzen. Der Treiber unterstützt das - Ethernet-Protokoll. Unter &os; 4.X verwenden - Sie die Zeile <literal>pseudo-device ether</literal>.</para> - - <programlisting>device sl 1 # Kernel SLIP</programlisting> - - <para><literal>sl</literal> 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 - <replaceable>Zahl</replaceable> hinter <literal>sl</literal> gibt der - Anzahl der gleichzeitigen SLIP-Verbindungen an, die unterstützt - werden. Unter &os; 4.X verwenden Sie die Zeile - <literal>pseudo-device sl</literal>.</para> - - <programlisting>device ppp 1 # Kernel PPP</programlisting> - - <para>Dies ist Kernel Unterstützung für PPP - Wählverbindungen. Es existiert auch eine PPP Version im - Userland, die den <literal>tun</literal> Treiber benutzt. Die - Userland Version ist flexibler und bietet mehr Option wie die Auswahl - auf Anforderung. Die <replaceable>Zahl</replaceable> hinter - <literal>ppp</literal> gibt die Anzahl gleichzeitiger PPP - Verbindungen an, die unterstützt werden. Unter - &os; 4.X müssen Sie die Zeile - <literal>pseudo-device ppp</literal> verwenden.</para> - - <programlisting>device tun # Packet tunnel.</programlisting> - - <para>Dies wird vom der Userland PPP benutzt. Die - <replaceable>Zahl</replaceable> hinter <literal>tun</literal> gibt - die Anzahl der unterstützten gleichzeitigen Verbindungen an. - Weitere Informationen erhalten Sie im Abschnitt - <link linkend="userppp">PPP</link> - dieses Handbuchs. Unter &os; 4.X verwenden Sie - die Zeile <literal>pseudo-device tun</literal>.</para> - - <programlisting><anchor id="kernelconfig-ptys"> -device pty # Pseudo-ttys (telnet etc)</programlisting> - - <para>Dies ist ein <quote>Pseudo-Terminal</quote> oder simulierter - Login-Terminal. Er wird von einkommenden <command>telnet</command> - und <command>rlogin</command> Verbindungen, - <application>xterm</application> und anderen Anwendungen wie - <application>Emacs</application> benutzt. Unter &os; 4.X - müssen Sie die Zeile - <literal>pseudo-device pty <replaceable>number</replaceable></literal> - verwenden. Die <replaceable>Zahl</replaceable> - hinter <literal>pty</literal> gibt die Anzahl der zu - erstellenden <literal>pty</literal>s an. Wenn Sie - mehr Verbindungen als die 16 erlaubten in der Voreinstellung brauchen, - erhöhen Sie diesen Wert bis zu einem Maximum von 256.</para> - - <programlisting>device md # Memory <quote>disks</quote></programlisting> - - <para>Pseudo-Gerät für Speicher-Laufwerke. - Unter &os; 4.X verwenden Sie die Zeile - <literal>pseudo-device md</literal>.</para> - - <programlisting>device gif</programlisting> - - <para>Dieses Gerät tunnelt IPv6 über IPv4, IPv4 über - IPv6, IPv4 über IPv4 oder IPv6 über IPv6. - Die Anzahl der benötigten Geräte wird automatisch - vom System bestimmt. Auf Systemen des 4.X-Zweiges ab - &os; 4.4 verwenden Sie die Zeile - <literal>pseudo-device gif</literal>. Vor &os; 4.4 - müssen Sie die Anzahl der benötigten Geräte - angeben, zum Beispiel: - <literal>pseudo-device gif 4</literal>.</para> - - <programlisting>device faith # IPv6-to-IPv4 relaying (translation)</programlisting> - - <para>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. Unter &os; 4.X verwenden Sie die Zeile - <literal>pseudo-device faith 1</literal>.</para> - - <programlisting># The `bpf' device enables the Berkeley Packet Filter. -# Be aware of the administrative consequences of enabling this! -device bpf # Berkeley packet filter</programlisting> - - <para>Das ist der Berkeley Paketfilter. Dieses Pseudo-Gerät kann - Netzwerkkarten in den <quote>promiscuous</quote> 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. - Unter &os; 4.X müssen Sie die Zeile - <literal>pseudo-device bpf</literal> verwenden.</para> - - <note> - <para>Das &man.bpf.4;-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.</para> - </note> - - <programlisting># USB support -#device uhci # UHCI PCI->USB interface -#device ohci # OHCI PCI->USB interface -#device usb # USB Bus (required) -#device ugen # Generic -#device uhid # <quote>Human Interface Devices</quote> -#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</programlisting> - - <para>Unterstützung für verschiedene USB Geräte.</para> - - <para>Mehr Informationen und weitere von &os; unterstützte - Geräte entnehmen Sie bitte - <filename>/usr/src/sys/i386/conf/LINT</filename>.</para> - - <sect2> - <title>Hohe Speicheranforderungen (<acronym>PAE</acronym>)</title> - <indexterm> - <primary>Physical Address Extensions (<acronym>PAE</acronym>)</primary> - <secondary>hohe Speicheranforderungen</secondary> - </indexterm> - - <para>Systeme mit hohen Speicheranforderungen benötigen - mehr Speicher als den auf 4 Gigabyte beschränkten - User- und Kernel-Adressraum (<acronym>KVA</acronym>). - Mit dem &pentium; Pro und neueren CPUs hat - Intel den Adressraum auf 36-Bit erweitert.</para> - - <para>Die Physical-Address-Extension (<acronym>PAE</acronym>) - von &intel;s &pentium; Pro und neueren Prozessoren - unterstützt bis zu 64 Gigabyte Speicher. - &os; kann diesen Speicher mit der Option <option>PAE</option> - in der Kernelkonfiguration nutzen. Die Option gibt es - in &os; 4.X seit 4.9-RELEASE und in &os; 5.X seit - 5.1-RELEASE. 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.</para> - <!-- ?? Bedeutung des letzten Satz ?? --> - - <para>Sie aktivieren <acronym>PAE</acronym> im Kernel, indem - Sie die folgende Zeile in die Kernelkonfigurationsdatei - einfügen:</para> - - <programlisting>options PAE</programlisting> - - <note> - <para>&os; unterstützt <acronym>PAE</acronym> nur - auf IA-32 Prozessoren. Die - <acronym>PAE</acronym>-Unterstützung wurde - zudem noch nicht hinreichend getestet und befindet - sich im Vergleich zu anderen Komponenten von &os; noch - im Beta-Stadium.</para> - </note> - - <para>Die <acronym>PAE</acronym>-Unterstützung in &os; - ist mit den nachstehenden Einschränkungen verbunden:</para> - - <itemizedlist> - <listitem> - <para>Ein Prozess kann nicht mehr als 4 Gigabyte - virtuellen Speicher benutzen.</para> - </listitem> - - <listitem> - <para><acronym>KLD</acronym>-Module können nicht in - einen <acronym>PAE</acronym>-Kernel geladen werden, - da sich das Bausystem der Module vom Bausystem des - Kernels unterscheidet.</para> - </listitem> - - <listitem> - <para>Gerätetreiber, die nicht die - &man.bus.dma.9;-Schnittstelle benutzen, führen - zusammen mit einem <acronym>PAE</acronym>-Kernel zu - Datenverlusten. Diese Treiber sollen nicht mit - einem <acronym>PAE</acronym>-Kernel verwendet werden. - Daher wird die <acronym>PAE</acronym>-Kernelkonfigurationsdatei - von &os; 5.X nur mit Treibern ausgeliefert, - die mit einem <acronym>PAE</acronym>-Kernel - funktionieren.</para> - </listitem> - - <listitem> - <para>Einige Systemvariablen werden abhängig von - der Speichergröße eingestellt. In einem - <acronym>PAE</acronym>-System mit viel Speicher - können die Werte daher zu hoch eingestellt sein. - Ein Beispiel ist die sysctl-Variable - <option>kern.maxvnodes</option>, die die maximale - Anzahl von vnodes im Kernel bestimmt. Solche - Variablen sollten auf einen angemessenen Wert - eingestellt werden.</para> - </listitem> - - <listitem> - <para>Es kann erforderlich sein, den virtuellen Adressraum - des Kernels (<acronym>KVA</acronym>) zu vergrößern - oder, wie oben beschrieben, den Wert einer häufig - gebrauchten Kernelvariablen zu verringern. Dies - verhindert einen Überlauf des <acronym>KVA</acronym>s. - Der Adressraum des Kernels kann mit der Kerneloption - <option>KVA_PAGES</option> vergrößert - werden.</para> - </listitem> - </itemizedlist> - - <para>Hinweise zur Leistungssteigerung und Stabilität - entnehmen Sie bitte der Hilfeseite &man.tuning.7;. - Die <acronym>PAE</acronym>-Unterstützung von &os; - wird in der Hilfeseite &man.pae.4; beschrieben.</para> - </sect2> - </sect1> - - <sect1 id="kernelconfig-nodes"> - <title>Gerätedateien erstellen</title> - - <indexterm><primary>Gerätedatei</primary></indexterm> - <indexterm> - <primary><command>MAKEDEV</command></primary> - </indexterm> - - <note> - <para>Ab &os; 5.0 werden die Gerätedateien automatisch - von &man.devfs.5; erzeugt. Überspringen Sie diesen Abschnitt, - wenn Sie &os; 5.0 oder eine neuere Version benutzen.</para> - </note> - - <para>Zu fast jedem Gerät gehört eine Datei in - <filename>/dev</filename>, 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 <filename>/dev/MAKEDEV</filename>, das auch bei der - Installation des Systems ausgeführt wird, erstellt fast alle - unterstützten Gerätedateien. Es legt aber nicht - <emphasis>alle</emphasis> 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 <filename>dev</filename> vorhanden - sind. Wenn nicht, dann legen Sie sie, wie im folgenden Beispiel - einfach an.</para> - - <para>Angenommen, Sie wollen den Kernel um Unterstützung für - IDE-CD-ROMs erweitern. Dann müssen Sie folgende Zeile in der - Konfigurationsdatei einfügen:</para> - - <programlisting>device acd0</programlisting> - - <para>Nun suchen Sie in <filename>/dev</filename> nach Dateien, die - mit <filename>acd0</filename> beginnen, möglicherweise mit - <literal>c</literal> enden oder ein <literal>r</literal> vorgestellt - haben (der Eintrag für das <quote>rohe</quote> Gerät). - Wenn Sie die Einträge nicht finden, wechseln Sie in - <filename>/dev</filename> und führen dort das folgende Kommando - aus:</para> - - <indexterm><primary><command>MAKEDEV</command></primary></indexterm> - <screen>&prompt.root; <userinput>sh MAKEDEV acd0</userinput></screen> - - <para>Nun sollten die Einträge <filename>acd0c</filename> und - <filename>racd0c</filename> in <filename>/dev</filename> vorhanden - sein.</para> - - <para>Das folgende Kommando legt die passenden Einträge für - Soundkarten an:</para> - - <screen>&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen> - - <note> - <para>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 <filename>/etc/fbtab</filename> aufnehmen. Weitere - Informationen stellt &man.fbtab.5; zur Verfügung.</para> - </note> - - <para>Folgen Sie dieser Prozedur für alle Geräte, die nicht - in <filename>GENERIC</filename> eingetragen sind.</para> - - <para>Da alle SCSI Controller die gleichen Einträge in - <filename>/dev</filename> benutzen, brauchen Sie diese nicht erstellen. - Weiterhin haben Netzwerkkarten sowie SLIP/PPP-Pseudo-Geräte keine - Einträge in <filename>/dev</filename>.</para> - </sect1> - - <sect1 id="kernelconfig-trouble"> - <title>Wenn etwas schiefgeht</title> - - <para>Es gibt fünf Hauptfehlerquellen beim Erstellen eines - angepassten Kernels:</para> - - <variablelist> - <varlistentry> - <term><command>config</command> verursacht Fehler:</term> - - <listitem> - <para>Wenn &man.config.8; misslingt, liegen - Fehler in der Kernelkonfigurationsdatei vor. Zum Glück - gibt &man.config.8; die die Zeilennummer der - Fehlerstelle an, so dass Sie diese schnell in - <application>vi</application> finden können. Beispielsweise - könnten Sie folgende Fehlermeldung sehen:</para> - - <screen>config: line 17: syntax error</screen> - - <para>Im Befehlsmodus von <application>vi</application> können - Sie sofort zur fraglichen Stelle springen, in dem Sie - <command>17G</command> eingeben. Überprüfen Sie - dort durch Vergleichen mit <filename>GENERIC</filename>, - ob das Schlüsselwort richtig geschrieben ist.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>make</command> verursacht Fehler:</term> - - <listitem> - <para>Wenn <command>make</command> misslingt, liegen meistens - ebenfalls Fehler in der Konfigurationsdatei vor, die aber so - speziell sind, dass &man.config.8; sie nicht - findet. Überprüfen Sie wiederum Ihre Konfiguration - und wenn Sie keinen Fehler entdecken können, schicken Sie - eine Mail mit Ihrer Kernelkonfiguration an die Mailingliste - &a.de.questions;. Sie sollten dann schnell Hilfe erhalten.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Der neue Kernel lässt sich nicht - installieren:</term> - - <listitem> - <para>Wenn das Übersetzen des Kernels geklappt hat aber die - Installation nicht, weil <command>make install</command> oder - <command>make installkernel</command> fehlgeschlagen ist, - sollten Sie zuerst überprüfen, ob Ihr System in der - Sicherheitsstufe 1 (engl. - <foreignphrase>secure level</foreignphrase>) läuft (siehe - &man.init.8;). Ihr alter Kernel ist durch die - <option>Immutable</option> 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 <option>Immutable</option> Option nicht - gesetzt werden kann, muss die Installation des Kernels in der - Sicherheitsstufe 0 oder einer niedrigeren stattfinden.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Der Kernel bootet nicht:<anchor id="kernelconfig-noboot"></term> - - <listitem> - <para>Wenn der Kernel nicht booten will, ist das noch lange kein - Grund zur Panik. Denn &os; besitzt exzellente Mechanismen zur - Wiederherstellung nach dem Einsatz inkompatibler Kernel. - Den Kernel, mit dem Sie booten wollen, können Sie sich - im &os; Boot Loader aussuchen. In den Loader gelangen Sie, - in dem Sie einfach eine Taste außer - <keycap>Enter</keycap> drücken, wenn das System von 10 - herunterzählt. Geben Sie dann <command>unload</command> - ein und mit <command>boot <replaceable>kernel.old</replaceable> - </command> 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.</para> - - <para>Nun können Sie die Konfiguration noch einmal - überprüfen und den Kernel neu kompilieren. Dazu - ist <filename>/var/log/messages</filename> 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.</para> - - <note> - <para>Heben Sie sich immer einen <filename>GENERIC</filename> - oder einen anderen Kernel, der garantiert bootet, für - den Fall, dass Sie Probleme bei dem Bau des Kernels - bekommen, auf. Der Name dieses Kernels sollte so - gewählt sein, dass er beim nächsten Bau nicht - überschrieben wird. Sie können sich nicht auf - <filename>kernel.old</filename> 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 (<filename>/kernel</filename>), 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 <option>Immutable</option> Option - von dem Kernel entfernen, den <command>make</command> installiert - hat:</para> - - <screen>&prompt.root; <userinput>chflags noschg /kernel</userinput></screen> - - <para>Wenn Sie den Befehl nicht ausführen können, - befinden Sie sich in einer höheren Sicherheitsstufe als 0. - Setzen Sie in <filename>/etc/rc.conf</filename> die Variable - <literal>kern_securelevel</literal> auf <literal>-1</literal> - und booten Sie danach. Wenn der neue Kernel funktioniert, - können Sie die Variable wieder auf Ihren alten Wert - zurücksetzen.</para> - - <para>Wenn Sie den neuen Kernel, oder allgemein eine Datei, - mit der <option>Immutable</option> Option versehen wollen, - um sie vor Veränderungen zu schützen, führen Sie - folgenden Befehl aus:</para> - - <screen>&prompt.root; <userinput>chflags schg /kernel</userinput></screen> - - <para>Ab &os; 5.0 werden die Kernel nicht mehr mit der - <option>Immutable</option> Option installiert. Probleme an - dieser Stelle werden also nicht mehr von der fehlenden - Schreibberechtigung verursacht.</para> - </note> - </listitem> - </varlistentry> - - <varlistentry> - <term>Der Kernel ist in Ordnung, aber <command>ps</command> geht - nicht mehr:</term> - - <listitem> - <para>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 - <filename>libkvm</filename> und die entsprechenden Programme - neu kompilieren. Das ist ein Grund dafür, warum man nie - einen Kernel, der nicht zur Systemversion passt, benutzten - sollte.</para> - </listitem> - </varlistentry> - </variablelist> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> |