aboutsummaryrefslogtreecommitdiff
path: root/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml')
-rw-r--r--de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml1792
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&uuml;nglich ver&ouml;ffentlicht von </contrib>
- <!-- 6 Oct 1995 -->
- </author>
- </authorgroup>
- <authorgroup>
- <author>
- <firstname>Robert</firstname>
- <surname>Altschaffel</surname>
- <contrib>&Uuml;bersetzt von </contrib>
- <!-- 24 Dec 2001 -->
- </author>
- </authorgroup>
- </chapterinfo>
-
- <title>Konfiguration des &os;-Kernels</title>
-
- <sect1 id="kernelconfig-synopsis">
- <title>&Uuml;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&uuml;r die Speicherverwaltung, das Durchsetzen
- von Sicherheitsdirektiven, Netzwerkf&auml;higkeit, Festplattenzugriffen
- und vieles mehr. Obwohl &os; es immer mehr erm&ouml;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&auml;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&ouml;tigten Eintr&auml;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&szlig; &os; einen monolithischen Kernel. Das
- bedeutet, dass der Kernel ein einziges gro&szlig;es Programm war,
- das eine bestimmte Auswahl an Hardware unterst&uuml;tzte.
- Also musste man immer, wenn man das Kernelverhalten ver&auml;ndern
- wollte, zum Beispiel wenn man neue Hardware hinzuf&uuml;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&ouml;nnen. Ein bekanntes Beispiel daf&uuml;r sind
- die Module f&uuml;r die PCMCIA-Karten in Laptops, die zum Starten
- nicht zwingend ben&ouml;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&ouml;tig, einige statische
- Kernelkonfigurationen durchzuf&uuml;hren. In einigen F&auml;llen
- ist die Funktion zu systemnah, um durch ein Modul zu realisiert werden.
- In anderen F&auml;llen hat eventuell noch niemand ein ladbares
- Kernelmodul f&uuml;r diese Funktion geschrieben.</para>
-
- <para>Das Erstellen eines angepa&szlig;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&uuml;r Ihr &os; System. Der
- <filename>GENERIC</filename> Kernel muss eine Vielzahl
- unterschiedlicher Hardware unterst&uuml;tzen, im Gegensatz dazu
- unterst&uuml;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&auml;ten
- sucht, ist die Boot-Sequenz weitaus schneller.</para>
- </listitem>
-
- <listitem>
- <para>Geringere Speicherausnutzung. Ein eigener Kernel ben&ouml;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&auml;tzliche Hardwareunterst&uuml;tzung. Ein
- angepasster Kernel kann Unterst&uuml;tzung f&uuml;r Ger&auml;te
- wie Soundkarten bieten, die im <filename>GENERIC</filename> Kernel
- nicht unterst&uuml;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&auml;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
- &uuml;ber <filename>/sys</filename> erreichen k&ouml;nnen. Es existieren
- mehrere Unterverzeichnisse, die bestimmte Teile des Kernels
- darstellen, aber die f&uuml;r uns wichtigsten sind
- <filename><replaceable>arch</replaceable>/conf</filename>, in dem
- Sie die Konfigurationsdatei f&uuml;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&uuml;r die jeweilige
- Architektur relevant, w&auml;hrend der Rest des Codes f&uuml;r alle
- Plattformen, auf die &os; portiert werden kann, gleich ist.
- Beachten Sie die Verzeichnisstruktur, die jedem unterst&uuml;tzten
- Ger&auml;t, jedem Dateisystem und jeder Option ein eigenes
- Verzeichnis zuordnet. Ab &os;&nbsp;5.X wird die
- <filename>sparc64</filename>-Architektur unterst&uuml;tzt
- und es existieren Verzeichnisse f&uuml;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&uuml;hren. Dort w&auml;hlen Sie
- <guimenuitem>Configure</guimenuitem>, dann
- <guimenuitem>Distributions</guimenuitem>, dann
- <guimenuitem>src</guimenuitem> und schlie&szlig;lich
- <guimenuitem>sys</guimenuitem>. Wenn Sie eine
- Aversion gegen <application>sysinstall</application> haben und eine
- <quote>offizielle</quote> &os; CD-ROM besitzen, k&ouml;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&auml;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&szlig;buchstaben.
- Wenn Sie mehrere &os; mit unterschiedlicher Hardware warten, ist
- es n&uuml;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&ouml;nnten Sie der Versuchung erliegen,
- <filename>/usr/src</filename> einfach zu l&ouml;schen und wieder
- von vorne anzufangen. F&uuml;nf Sekunden sp&auml;ter werden Sie
- dann feststellen, dass Sie soeben Ihre
- Kernelkonfigurationsdatei gel&ouml;scht haben.</para>
-
- <para>Editieren Sie immer eine Kopie von <filename>GENERIC</filename>.
- &Auml;nderungen an <filename>GENERIC</filename> k&ouml;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&uuml;ssen Sie als
- <username>root</username> ausf&uuml;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&auml;rt zu werden.
- Er wird aber in vielen B&uuml;chern aus der <link linkend="bibliography">
- Bibliographie</link> gut erkl&auml;rt. &os; bietet aber auch
- einen leichter zu benutzenden Editor, den <application>ee</application>
- an, den Sie, wenn Sie Anf&auml;nger sind, benutzen sollten. Sie
- k&ouml;nnen die Kommentare am Anfang der Konfigurationsdatei
- &auml;ndern, um die &Auml;nderungen gegen&uuml;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&ouml;nnte die <filename>GENERIC</filename>
- Konfigurationsdatei Sie verschrecken. In diesen Fall sollten Sie
- den Beschreibungen im Abschnitt &uuml;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&auml;ndern, <filename>/usr/src/UPDATING</filename>
- durchlesen. Diese Datei enth&auml;lt alle wichtigen Informationen,
- die Sie beim Aktualisieren beachten m&uuml;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&uuml;ssen Sie die Kernelquellen kompilieren. Dazu gibt es
- zwei Verfahren. Welches Verfahren Sie nehmen, h&auml;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&nbsp;1.</para>
- </listitem>
-
- <listitem>
- <para>Wenn Sie eine &os; Version vor 4.0 benutzen und
- <emphasis>nicht</emphasis> auf &os;&nbsp;4.0 oder h&ouml;her mit
- <maketarget>make world</maketarget> migrieren, benutzen Sie
- Verfahren&nbsp;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&uuml;gt haben,
- k&ouml;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&nbsp;2.</para>
- </listitem>
- </itemizedlist>
-
- <procedure>
- <title>Verfahren&nbsp;1. Bau eines Kernels mit der
- <quote>herk&ouml;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&nbsp;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;&nbsp;4.2 und &auml;lteren Versionen m&uuml;ssen Sie
- <literal>KERNCONF</literal> durch <literal>KERNEL</literal>
- ersetzen. 4.2-STABLE nach dem 2.&nbsp;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&auml;ndert,
- das hei&szlig;t Sie haben weder <application>CVSup</application>,
- <application>CTM</application> noch
- <application>anoncvs</application> laufen lassen, dann k&ouml;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&auml;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&auml;rt, was zu tun
- ist, <link linkend="kernelconfig-noboot">wenn der neue Kernel nicht
- bootet</link>.</para>
-
- <note>
- <para>Ab &os;&nbsp;5.0 werden der neue Kernel und die Module
- in das Verzeichnis <filename>/boot/kernel</filename> installiert.
- Der alte Kernel und die dazugeh&ouml;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&ouml;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&uuml;ssen, da Module, die nicht zu dem verwendeten Kernel passen,
- die Stabilit&auml;t des Systems gef&auml;hrden.</para>
- </note>
-
- <note>
- <para>Wenn Sie neue Ger&auml;te, wie Soundkarten, hinzugef&uuml;gt haben
- und &os;&nbsp;4.X oder eine fr&uuml;here Version benutzen,
- m&uuml;ssen Sie unter Umst&auml;nden Ger&auml;tedateien in
- <filename>/dev</filename> erstellen, bevor Sie die Ger&auml;te benutzen
- k&ouml;nnen. Weitere Informationen finden Sie in <link
- linkend="kernelconfig-nodes">Erstellen von Ger&auml;tedateien</link>
- sp&auml;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&auml;lt ein Schl&uuml;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&uuml;sselwort in der Reihenfolge, in der es
- in <filename>GENERIC</filename> auftaucht. Manche zusammengeh&ouml;rende
- Schl&uuml;sselw&ouml;rter werden in einem Abschnitt beschrieben,
- obwohl Sie &uuml;ber <filename>GENERIC</filename> verstreut sind.
- <anchor id="kernelconfig-options"> Eine ausf&uuml;hrliche Liste aller
- Optionen mit detaillierten Erkl&auml;rungen finden Sie in der
- Konfigurationsdatei <filename>LINT</filename>, die sich in demselben
- Verzeichnis wie <filename>GENERIC</filename> befindet. Wenn Sie sich
- &uuml;ber den Zweck oder die Notwendigkeit einer Zeile im Unklaren
- sind, &uuml;berpr&uuml;fen Sie bitte diese bitte zuerst in
- <filename>LINT</filename>.</para>
-
- <note>
- <para>Ab &os;&nbsp;5.X ist die Datei <filename>LINT</filename>
- durch die Datei <filename>NOTES</filename> ersetzt worden.
- Haupts&auml;chlich architekturunabh&auml;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&auml;tzliche Kommentare
- enth&auml;lt. Sie sollte der Datei
- <filename>/usr/src/sys/i386/conf/GENERIC</filename> auf Ihrem System
- sehr &auml;hnlich sein. F&uuml;r detaillierte Informationen &uuml;ber
- alle m&ouml;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.
-#
-# &dollar;FreeBSD: src/sys/i386/conf/GENERIC,v 1.380 2003/03/29 13:36:41 mdodd Exp &dollar;</programlisting>
-
- <para>Die folgenden Schl&uuml;sselw&ouml;rter sind f&uuml;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&ouml;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&uuml;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&szlig;t Sie haben die folgenden M&ouml;glichkeiten,
- &os; auf einem 386-System zu installieren:</para>
-
- <itemizedlist>
- <listitem>
- <para>Installieren Sie ein &auml;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 &uuml;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&auml;lt der
- die Option <literal>I386_CPU</literal> unterst&uuml;tzt.</para>
- </listitem>
- </itemizedlist>
-
- <para>Die einfachste M&ouml;glichkeit ist sicher die erste.
- Sie ben&ouml;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&uuml;tzlich, hier einen anderen Namen
- anzugeben.</para>
- <indexterm>
- <primary>Kerneloption</primary>
- <secondary>maxusers</secondary>
- </indexterm>
-
- <programlisting>maxusers <replaceable>n</replaceable></programlisting>
-
- <para>Die Gr&ouml;&szlig;e wichtiger Systemtabellen wird von
- <literal>maxusers</literal> bestimmt. Der Wert dieser Variablen
- sollte ungef&auml;hr der Anzahl der Benutzer des Systems
- entsprechen.</para>
-
- <para>Ab &os;&nbsp;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&ouml;&szlig;e des Systems. Der minimale Wert
- betr&auml;gt dabei <literal>32</literal>, das Maximum ist
- <literal>384</literal>.</para></footnote>
- angeben. Ab &os;&nbsp;5.X wird <literal>maxusers</literal>
- auf <literal>0</literal> gesetzt, wenn die Option nicht angegeben
- wird. Wenn Sie eine fr&uuml;here Version als &os;&nbsp;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&uuml;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&ouml;nnen gleichzeitig
- nur 36 Prozesse laufen, von denen ungef&auml;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&uuml;r die meisten Benutzer sollte
- es ausreichen, <literal>maxusers</literal> auf 64 zu setzen, womit
- 1044 gleichzeitige Prozesse zur Verf&uuml;gung stehen.Wenn Sie
- allerdings den gef&uuml;rchteten <errortype>proc table full</errortype>
- Fehler, beim Versuch ein Programm zu starten oder auf einem Server
- mit einer gro&szlig;en Benutzerzahl (wie
- <hostid role="fqdn">ftp.FreeBSD.org</hostid>) sehen, dann
- sollten Sie den Wert erh&ouml;hen und den Kernel neu bauen.</para>
-
- <note>
- <para>Die Anzahl der Benutzer, die sich auf einer Maschine anmelden
- k&ouml;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&ouml;&szlig;en f&uuml;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;&nbsp;5.X brauchen Sie sich um die Anzahl der
- Ger&auml;te nicht mehr zu k&uuml;mmern. Der
- &man.pty.4;-Treiber erstellt automatisch neue
- Ger&auml;te. In der Konfigurationsdatei m&uuml;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&szlig;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;&nbsp;4.X m&uuml;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;&nbsp;5.X werden Ger&auml;te mit &man.device.hints.5;
- konfiguriert. In der Voreinstellung &uuml;berpr&uuml;ft
- &man.loader.8; beim Systemstart die Datei
- <filename>/boot/device.hints</filename>. Die Option
- <literal>hints</literal> erlaubt es, die Ger&auml;tekonfiguration
- statisch in den Kernel einzubinden, sodass die Datei
- <filename>device.hints</filename> in <filename>/boot</filename>
- nicht ben&ouml;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&auml;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 &Auml;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&ouml;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&uuml;r den Fall, das Ihre Maschine keinen besitzt (386
- oder 486SX), ein. Wenn Sie einen 386 oder 486SX mit dem
- dazugeh&ouml;rigen Coprozessor (387 oder 487), einen 486DX oder
- besser (wie &pentium;, &pentium;&nbsp;II) besitzen, k&ouml;nnen
- Sie diese Zeile auskommentieren.</para>
-
- <note>
- <para>Die normalen Emulationsroutinen f&uuml;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&uuml;tzung der GNU Routinen zu aktivieren. Wegen der damit
- verbundenen Lizenz, ist diese Option in der Voreinstellung nicht
- aktiviert.</para>
-
- <para>Ab &os;&nbsp;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&uuml;ssen oft noch weitere Optionen
- aktiviert werden.</para>
- </note>
-
- <programlisting>options INET #InterNETworking</programlisting>
-
- <para>Netzwerkunterst&uuml;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&uuml;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&uuml;tzung f&uuml;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&uuml;r Festplatten. Wenn Sie von einer
- Festplatte booten wollen, lassen Sie diese Option aktiviert.</para>
-
- <note>
- <para>Ab &os;&nbsp;5.0 wird <literal>FFS_ROOT</literal> nicht mehr
- ben&ouml;tigt.</para>
- </note>
-
- <programlisting>options UFS_ACL #Support for access control lists</programlisting>
-
- <para>Diese Option, die es erst ab &os;&nbsp;5.0 gibt, aktiviert
- Zugriffskontrolllisten (<acronym>ACL</acronym>). Die
- <acronym>ACL</acronym>s h&auml;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 &auml;ndern kann.</para>
-
- <programlisting>options UFS_DIRHASH #Improve performance on big directories</programlisting>
-
- <para>Diese Option steigert die Geschwindigkeit von Plattenzugriffen
- auf gro&szlig;en Verzeichnissen. Dadurch verbraucht das System etwas
- mehr Speicher als vorher. F&uuml;r stark besch&auml;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&ouml;nnen Sie
- diese Option abstellen.</para>
-
- <programlisting>options SOFTUPDATES #Enable FFS Soft Updates support</programlisting>
-
- <para>Mit dieser Option wird die Unterst&uuml;tzung f&uuml;r Soft
- Updates, die Schreibzugriffe beschleunigen, in den Kernel
- eingebunden. Auch wenn die Funktion im Kernel ist, muss
- sie f&uuml;r einzelne Dateisysteme explizit aktiviert werden.
- &Uuml;berpr&uuml;fen Sie mit &man.mount.8;, ob die Dateisysteme
- Soft Updates benutzen. Wenn die Option
- <literal>soft-updates</literal> nicht aktiviert ist, k&ouml;nnen
- Sie die Option nachtr&auml;glich mit &man.tunefs.8; aktivieren.
- F&uuml;r neue Dateisysteme k&ouml;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&auml;re Dateien dient und
- n&uuml;tzlich ist, wenn Sie &uuml;ber viel Speicher verf&uuml;gen.
- Eine MFS-Partition eignet sich sehr gut f&uuml;r das
- <filename>/tmp</filename> Verzeichnis, da dort sehr viele Programme
- tempor&auml;re Daten speichern. Um eine MFS RAM-Disk auf
- <filename>/tmp</filename> einzurichten, f&uuml;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&auml;ngen, k&ouml;nnen Sie nun booten
- oder rufen das Kommando <command>mount /tmp</command> auf.</para>
-
- <note>
- <para>Ab &os;&nbsp;5.0 werden RAM-disks mit &man.md.4; erstellt,
- daher wird die Option <literal>MFS</literal> nicht mehr
- unterst&uuml;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 &uuml;ber TCP/IP einh&auml;ngen wollen, k&ouml;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&ouml;nnen diese Zeile
- auskommentieren, wenn Sie nicht vorhaben, eine DOS-Partition beim
- Booten einzuh&auml;ngen. Das n&ouml;tige Modul wird ansonsten
- automatisch geladen, wenn Sie das erste mal eine DOS-Partition
- einh&auml;ngen. Au&szlig;erdem k&ouml;nnen Sie mit den
- ausgezeichneten <application>mtools</application> aus der
- Ports-Sammlung auf DOS-Floppies zugreifen, ohne diese an- und
- abh&auml;ngen zu m&uuml;ssen (<literal>MSDOSFS</literal> wird in
- diesem Fall nicht ben&ouml;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&uuml;r CD-ROMs. Sie k&ouml;nnen diese
- Zeile auskommentieren, wenn Sie kein CD-ROM-Laufwerk besitzen oder
- nur ab und an CDs einh&auml;ngen. Das Modul wird automatisch
- geladen, sobald Sie das erste Mal eine CD einh&auml;ngen. F&uuml;r
- Audio-CDs ben&ouml;tigen Sie dieses Dateisystem nicht.</para>
-
- <programlisting>options PROCFS #Process filesystem</programlisting>
-
- <para>Das Proze&szlig;-Dateisystem. Dies ist ein Pseudo-Dateisystem,
- das auf <filename>/proc</filename> eingehangen wird und es Programmen
- wie &man.ps.1; erlaubt, mehr Informationen &uuml;ber laufende Prozesse
- auszugeben. Ab &os;&nbsp;5.0 sollte <literal>PROCFS</literal>
- nicht mehr ben&ouml;tigt werden, da die meisten Debug- und
- &Uuml;berwachungs-Werkzeuge nicht mehr darauf angewiesen sind. Wenn
- <literal>PROCFS</literal> mit &os;&nbsp;5.0 benutzt werden soll,
- wird zus&auml;tzlich noch die Option <literal>PSEUDOFS</literal>
- ben&ouml;tigt:</para>
-
- <programlisting>options PSEUDOFS #Pseudo-filesystem framework</programlisting>
-
- <para><literal>PSEUDOFS</literal> steht unter &os;&nbsp;4.X nicht
- zur Verf&uuml;gung. Im Gegensatz zu &os;&nbsp;4.X wird ab
- &os;&nbsp;5.0 das Proze&szlig;-Dateisystem nicht mehr per
- Voreinstellung eingehangen.</para>
-
- <programlisting>options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]</programlisting>
-
- <para>Stellt die Kompatibilit&auml;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;&nbsp;5.X stellt diese Option auf &i386;- und
- Alpha-Systemen sicher, dass Anwendungen, die auf &auml;lteren &os;
- Versionen &uuml;bersetzt wurden und alte Systemaufrufe verwenden,
- noch lauff&auml;hig sind. Wir empfehlen, diese Option auf allen
- &i386;- und Alpha-Systemen zu verwenden, auf denen vielleicht noch
- &auml;ltere Anwendungen laufen sollen. Auf Plattformen, die erst ab
- &os;&nbsp;5.0 unterst&uuml;tzt werden (wie ia64 und &sparc;),
- wird diese Option nicht ben&ouml;tigt.</para>
-
- <programlisting>options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI</programlisting>
-
- <para>Dies weist den Kernel an, 15&nbsp;Sekunden zu warten, bevor er
- anf&auml;ngt nach SCSI-Ger&auml;ten auf dem System zu suchen. Wenn
- Sie nur IDE-Ger&auml;te besitzen, k&ouml;nnen Sie die Anweisung
- ignorieren. Sie k&ouml;nnen versuchen, den Wert auf 5&nbsp;Sekunden
- senken, um den Startvorgang zu beschleunigen. Wenn
- &os; dann Schwierigkeiten hat, Ihre SCSI-Ger&auml;te zu erkennen,
- sollten Sie den Wert nat&uuml;rlich wieder erh&ouml;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;&nbsp;5.0 wird <literal>UCONSOLE</literal> nicht mehr
- ben&ouml;tigt.</para>
- </note>
-
- <programlisting>options USERCONFIG #boot -c editor</programlisting>
-
- <para>Diese Option erlaubt es Ihnen, den Konfigurationseditor aus dem
- Bootmen&uuml; zu starten.</para>
-
- <programlisting>options VISUAL_USERCONFIG #visual boot -c editor</programlisting>
-
- <para>Diese Option erlaubt es Ihnen, den Visual-Konfigurationseditor
- aus dem Bootmen&uuml; zu starten.</para>
-
- <note>
- <para>Ab &os;&nbsp;5.0 werden Ger&auml;te mit
- &man.device.hints.5; anstelle des Konfigurationseditors konfiguriert,
- dies wird in <xref linkend="device-hints"> erkl&auml;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&uuml;tzlich bei der Fehlersuche ist.</para>
-
- <programlisting>options SYSVSHM #SYSV-style shared memory</programlisting>
-
- <para>Diese Option aktiviert die Unterst&uuml;tzung f&uuml;r System V
- Shared-Memory. Die XSHM-Erweiterung von X ben&ouml;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&uuml;tzung f&uuml;r System V Semaphoren. Dies wird
- selten gebraucht, vergr&ouml;&szlig;ert aber den Kernel nur um einige
- hundert Bytes.</para>
-
- <programlisting>options SYSVMSG #SYSV-style message queues</programlisting>
-
- <para>Unterst&uuml;tzung f&uuml;r System V Messages.
- Vergr&ouml;&szlig;ert den Kernel wiederum nur um einige hundert
- Bytes.</para>
-
- <note>
- <para>Programme, die diese System V Erweiterungen benutzen,
- k&ouml;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&uuml;gt wurden. Bestimmte Programme wie
- <application>&staroffice;</application> benutzen
- diese Erweiterungen.</para>
-
- <note>
- <para>Ab &os;&nbsp;5.0 werden diese Funktionen von
- <literal>_KPOSIX_PRIORITY_SCHEDULING</literal> alleine zur
- Verf&uuml;gung gestellt. <literal>P1003_1B</literal> wird nicht
- mehr ben&ouml;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&uuml;r
- Antworten. Diese Option sollten Sie aktiviert lassen, da sie Ihre
- Maschine vor Denial of Service Angriffen sch&uuml;tzt.</para>
-
- <note>
- <para>In der Voreinstellung von &os;&nbsp;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&uuml;r SMP Unterst&uuml;tzung
- ben&ouml;tigt.</para>
-
- <programlisting>device isa</programlisting>
-
- <para>Alle von &os; unterst&uuml;tzten PCs ben&ouml;tigen diese
- Zeile, entfernen Sie diese Zeile auch dann nicht, wenn Ihre
- Hauptplatine keine ISA-Steckpl&auml;tze hat.
- &os; unterst&uuml;tzt den IBM PS/2 (Microchannel
- Architektur) nur eingeschr&auml;nkt. Weitere Informationen &uuml;ber
- die Microchannel Unterst&uuml;tzung entnehmen Sie bitte
- <filename>/usr/src/sys/i386/conf/LINT</filename>.</para>
-
- <programlisting>device eisa</programlisting>
-
- <para>F&uuml;gen Sie diese Zeile ein, wenn Sie ein EISA-Motherboard
- besitzen. Dies aktiviert die Erkennung und Konfiguration von allen
- Ger&auml;ten auf dem EISA Bus.</para>
-
- <programlisting>device pci</programlisting>
-
- <para>Wenn Sie ein PCI-Motherboard besitzen, f&uuml;gen Sie diese Zeile
- ein. Dies aktiviert die Erkennung von PCI-Karten und die PCI-ISA
- bridge.</para>
-
- <programlisting>device agp</programlisting>
-
- <para>F&uuml;gen Sie diese Zeile ein, wenn Sie eine AGP-Karte
- besitzen. Damit werden Motherboards mit AGP und AGP GART
- unterst&uuml;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&uuml;tzt alle ATA und ATAPI Ger&auml;te.
- Eine <literal>device ata</literal> Zeile reicht aus und der
- Kernel wird auf modernen Maschinen alle PCI ATA/ATAPI Ger&auml;te
- entdecken.</para>
-
- <programlisting>device atadisk # ATA disk drives</programlisting>
-
- <para>F&uuml;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&uuml;r
- ATAPI CD-ROM Laufwerke ben&ouml;tigt.</para>
-
- <programlisting>device atapifd # ATAPI floppy drives</programlisting>
-
- <para>Zusammen mit <literal>device ata</literal> wird dies f&uuml;r
- ATAPI Floppy Laufwerke ben&ouml;tigt.</para>
-
- <programlisting>device atapist # ATAPI tape drives</programlisting>
-
- <para>Zusammen mit <literal>device ata</literal> wird dies f&uuml;r
- ATAPI Bandlaufwerke ben&ouml;tigt.</para>
-
- <programlisting>options ATA_STATIC_ID #Static device numbering</programlisting>
-
- <para>Erzwingt wie der alte Treiber eine statische Ger&auml;tenummer
- f&uuml;r den Controller. Ist diese Option nicht aktiviert, werden
- die Ger&auml;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&uuml;r &auml;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&ouml;nnen Sie alle Eintr&auml;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&auml;te. Kommentieren Sie wieder alle
- Ger&auml;te aus, die Sie nicht besitzen. Besitzer von IDE-Systemen
- k&ouml;nnen alle Eintr&auml;ge entfernen.</para>
-
- <note>
- <para>Der USB-&man.umass.4;-Treiber und einige andere
- Treiber benutzen das SCSI-Subsystem obwohl sie keine
- SCSI-Ger&auml;te sind. Belassen Sie die SCSI-Unterst&uuml;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&uuml;tzte RAID Controller. Wenn Sie keinen der
- aufgef&uuml;hrten Controller besitzen, kommentieren Sie die
- Eintr&auml;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&uuml;r
- die Ein- und Ausgabe von AT-Tastaturen und PS/2 Zeigeger&auml;ten (z.B.
- einer Maus) verantwortlich. Dieser Controller wird vom
- Tastaturtreiber (<literal>atkbd</literal>) und dem PS/2
- Ger&auml;tetreiber (<literal>psm</literal>) ben&ouml;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&auml;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&ouml;tigt.
- Unter &os;&nbsp;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&uuml;r die Konsole, die der SCO-Konsole &auml;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&uuml;tzlich erweisen, wenn Sie sich &uuml;ber das Netzwerk auf
- vielen verschiedenen Maschinen anmelden, da dort oft Eintr&auml;ge in
- <filename>termcap</filename> oder <filename>terminfo</filename>
- f&uuml;r das <literal>sc0</literal> Ger&auml;t fehlen. Dagegen
- sollte <literal>vt100</literal> auf jeder Plattform unterst&uuml;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&uuml;tzung zur Energieverwaltung. N&uuml;tzlich f&uuml;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&uuml;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&uuml;ssen
- Sie den IRQ des Modems auf 2 setzen (wegen undurchsichtigen
- technischen Gr&uuml;nden ist IRQ2 =IRQ9). Wenn Sie eine serielle
- Multiport-Karte besitzen, sehen Sie die korrekten Werte f&uuml;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&uuml;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&uuml;tzt wird, muss das nicht der Fall
- sein), daher k&ouml;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&uuml;tzung f&uuml;r den Bus auf der parallelen
- Schnittstelle.</para>
-
- <programlisting>device lpt # Printer</programlisting>
-
- <para>Unterst&uuml;tzung f&uuml;r Drucker &uuml;ber die parallele
- Schnittstelle.</para>
-
- <note>
- <para>Sie brauchen jede der drei Zeilen, um die Unterst&uuml;tzung
- f&uuml;r einen Drucker an der parallelen Schnittstelle zu
- aktivieren.</para>
- </note>
-
- <programlisting>device plip # TCP/IP over parallel</programlisting>
-
- <para>Der Treiber f&uuml;r das Netzwerkinterface &uuml;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&uuml;tzung.</para>
-
- <programlisting>#device vpo # Requires scbus and da</programlisting>
-
- <indexterm><primary>Zip Laufwerk</primary></indexterm>
- <para>Dies aktiviert den Treiber f&uuml;r ein Iomega Zip Laufwerk.
- Zus&auml;tzlich ben&ouml;tigen Sie noch die Unterst&uuml;tzung
- f&uuml;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&uuml;r PCI-Netzwerkkarten. Ger&auml;te,
- die sich nicht in Ihrem System befinden, k&ouml;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&auml;hige Transceiver verwenden oder Transceiver-Steuerungen
- implementieren, die &auml;hnlich wie MII funktionieren,
- ben&ouml;tigen die Unterst&uuml;tzung f&uuml;r den MII-Bus. Die
- Zeile <literal>device miibus</literal> f&uuml;gt dem Kernel die
- Unterst&uuml;tzung f&uuml;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&uuml;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&uuml;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&uuml;tzt das
- Ethernet-Protokoll. Unter &os;&nbsp;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&uuml;tzung.
- SLIP ist fast vollst&auml;ndig von PPP verdr&auml;ngt worden, da
- letzteres leichter zu konfigurieren, besser geeignet f&uuml;r Modem
- zu Modem Kommunikation und m&auml;chtiger ist. Die
- <replaceable>Zahl</replaceable> hinter <literal>sl</literal> gibt der
- Anzahl der gleichzeitigen SLIP-Verbindungen an, die unterst&uuml;tzt
- werden. Unter &os;&nbsp;4.X verwenden Sie die Zeile
- <literal>pseudo-device sl</literal>.</para>
-
- <programlisting>device ppp 1 # Kernel PPP</programlisting>
-
- <para>Dies ist Kernel Unterst&uuml;tzung f&uuml;r PPP
- W&auml;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&uuml;tzt werden. Unter
- &os;&nbsp;4.X m&uuml;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&uuml;tzten gleichzeitigen Verbindungen an.
- Weitere Informationen erhalten Sie im Abschnitt
- <link linkend="userppp">PPP</link>
- dieses Handbuchs. Unter &os;&nbsp;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;&nbsp;4.X
- m&uuml;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&ouml;hen Sie diesen Wert bis zu einem Maximum von 256.</para>
-
- <programlisting>device md # Memory <quote>disks</quote></programlisting>
-
- <para>Pseudo-Ger&auml;t f&uuml;r Speicher-Laufwerke.
- Unter &os;&nbsp;4.X verwenden Sie die Zeile
- <literal>pseudo-device md</literal>.</para>
-
- <programlisting>device gif</programlisting>
-
- <para>Dieses Ger&auml;t tunnelt IPv6 &uuml;ber IPv4, IPv4 &uuml;ber
- IPv6, IPv4 &uuml;ber IPv4 oder IPv6 &uuml;ber IPv6.
- Die Anzahl der ben&ouml;tigten Ger&auml;te wird automatisch
- vom System bestimmt. Auf Systemen des 4.X-Zweiges ab
- &os;&nbsp;4.4 verwenden Sie die Zeile
- <literal>pseudo-device gif</literal>. Vor &os;&nbsp;4.4
- m&uuml;ssen Sie die Anzahl der ben&ouml;tigten Ger&auml;te
- angeben, zum Beispiel:
- <literal>pseudo-device gif 4</literal>.</para>
-
- <programlisting>device faith # IPv6-to-IPv4 relaying (translation)</programlisting>
-
- <para>Dieses Pseudo-Ger&auml;t f&auml;ngt zu ihm gesendete Pakete ab
- und leitet Sie zu einem D&aelig;mon weiter, der Verkehr zwischen IPv4
- und IPv6 vermittelt. Unter &os;&nbsp;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&auml;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&ouml;nnen auf der Festplatte
- gespeichert und mit &man.tcpdump.1; untersucht werden.
- Unter &os;&nbsp;4.X m&uuml;ssen Sie die Zeile
- <literal>pseudo-device bpf</literal> verwenden.</para>
-
- <note>
- <para>Das &man.bpf.4;-Ger&auml;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-&gt;USB interface
-#device ohci # OHCI PCI-&gt;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&uuml;tzung f&uuml;r verschiedene USB Ger&auml;te.</para>
-
- <para>Mehr Informationen und weitere von &os; unterst&uuml;tzte
- Ger&auml;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&ouml;tigen
- mehr Speicher als den auf 4&nbsp;Gigabyte beschr&auml;nkten
- User- und Kernel-Adressraum (<acronym>KVA</acronym>).
- Mit dem &pentium;&nbsp;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;&nbsp;Pro und neueren Prozessoren
- unterst&uuml;tzt bis zu 64&nbsp;Gigabyte Speicher.
- &os; kann diesen Speicher mit der Option <option>PAE</option>
- in der Kernelkonfiguration nutzen. Die Option gibt es
- in &os;&nbsp;4.X seit 4.9-RELEASE und in &os;&nbsp;5.X seit
- 5.1-RELEASE. Wegen Beschr&auml;kungen der
- Intel-Speicherarchitektur wird keine Unterscheidung
- zwischen Speicher oberhalb oder unterhalb von 4&nbsp;Gigabyte
- getroffen. Speicher &uuml;ber 4&nbsp;Gigabyte wird
- einfach dem zur Verf&uuml;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&uuml;gen:</para>
-
- <programlisting>options PAE</programlisting>
-
- <note>
- <para>&os; unterst&uuml;tzt <acronym>PAE</acronym> nur
- auf IA-32 Prozessoren. Die
- <acronym>PAE</acronym>-Unterst&uuml;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&uuml;tzung in &os;
- ist mit den nachstehenden Einschr&auml;nkungen verbunden:</para>
-
- <itemizedlist>
- <listitem>
- <para>Ein Prozess kann nicht mehr als 4&nbsp;Gigabyte
- virtuellen Speicher benutzen.</para>
- </listitem>
-
- <listitem>
- <para><acronym>KLD</acronym>-Module k&ouml;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&auml;tetreiber, die nicht die
- &man.bus.dma.9;-Schnittstelle benutzen, f&uuml;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;&nbsp;5.X nur mit Treibern ausgeliefert,
- die mit einem <acronym>PAE</acronym>-Kernel
- funktionieren.</para>
- </listitem>
-
- <listitem>
- <para>Einige Systemvariablen werden abh&auml;ngig von
- der Speichergr&ouml;&szlig;e eingestellt. In einem
- <acronym>PAE</acronym>-System mit viel Speicher
- k&ouml;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&ouml;&szlig;ern
- oder, wie oben beschrieben, den Wert einer h&auml;ufig
- gebrauchten Kernelvariablen zu verringern. Dies
- verhindert einen &Uuml;berlauf des <acronym>KVA</acronym>s.
- Der Adressraum des Kernels kann mit der Kerneloption
- <option>KVA_PAGES</option> vergr&ouml;&szlig;ert
- werden.</para>
- </listitem>
- </itemizedlist>
-
- <para>Hinweise zur Leistungssteigerung und Stabilit&auml;t
- entnehmen Sie bitte der Hilfeseite &man.tuning.7;.
- Die <acronym>PAE</acronym>-Unterst&uuml;tzung von &os;
- wird in der Hilfeseite &man.pae.4; beschrieben.</para>
- </sect2>
- </sect1>
-
- <sect1 id="kernelconfig-nodes">
- <title>Ger&auml;tedateien erstellen</title>
-
- <indexterm><primary>Ger&auml;tedatei</primary></indexterm>
- <indexterm>
- <primary><command>MAKEDEV</command></primary>
- </indexterm>
-
- <note>
- <para>Ab &os;&nbsp;5.0 werden die Ger&auml;tedateien automatisch
- von &man.devfs.5; erzeugt. &Uuml;berspringen Sie diesen Abschnitt,
- wenn Sie &os;&nbsp;5.0 oder eine neuere Version benutzen.</para>
- </note>
-
- <para>Zu fast jedem Ger&auml;t geh&ouml;rt eine Datei in
- <filename>/dev</filename>, die zwar wie eine regul&auml;re Datei
- aussieht, tats&auml;chlich aber eine Schnittstelle zum Kernel ist, die
- Programme benutzen, um Zugriff auf das Ger&auml;t zu erlangen.
- Das Shellskript <filename>/dev/MAKEDEV</filename>, das auch bei der
- Installation des Systems ausgef&uuml;hrt wird, erstellt fast alle
- unterst&uuml;tzten Ger&auml;tedateien. Es legt aber nicht
- <emphasis>alle</emphasis> Ger&auml;tedateien an, das hei&szlig;t, wenn
- Sie im Kernel Unterst&uuml;tzung f&uuml;r ein neues Ger&auml;t
- hinzugef&uuml;gt haben, sollten Sie &uuml;berpr&uuml;fen, ob die
- entsprechenden Eintr&auml;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&uuml;tzung f&uuml;r
- IDE-CD-ROMs erweitern. Dann m&uuml;ssen Sie folgende Zeile in der
- Konfigurationsdatei einf&uuml;gen:</para>
-
- <programlisting>device acd0</programlisting>
-
- <para>Nun suchen Sie in <filename>/dev</filename> nach Dateien, die
- mit <filename>acd0</filename> beginnen, m&ouml;glicherweise mit
- <literal>c</literal> enden oder ein <literal>r</literal> vorgestellt
- haben (der Eintrag f&uuml;r das <quote>rohe</quote> Ger&auml;t).
- Wenn Sie die Eintr&auml;ge nicht finden, wechseln Sie in
- <filename>/dev</filename> und f&uuml;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&auml;ge <filename>acd0c</filename> und
- <filename>racd0c</filename> in <filename>/dev</filename> vorhanden
- sein.</para>
-
- <para>Das folgende Kommando legt die passenden Eintr&auml;ge f&uuml;r
- Soundkarten an:</para>
-
- <screen>&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen>
-
- <note>
- <para>Wenn Sie Ger&auml;tedateien f&uuml;r Ger&auml;te wie
- Soundkarten erstellen und andere Leute Zugriff auf Ihren Rechner
- haben, wollen Sie vielleicht diese Ger&auml;te vor Zugriffen von
- au&szlig;en sch&uuml;tzen. Sie erreichen dies, in dem Sie das
- Ger&auml;t in <filename>/etc/fbtab</filename> aufnehmen. Weitere
- Informationen stellt &man.fbtab.5; zur Verf&uuml;gung.</para>
- </note>
-
- <para>Folgen Sie dieser Prozedur f&uuml;r alle Ger&auml;te, die nicht
- in <filename>GENERIC</filename> eingetragen sind.</para>
-
- <para>Da alle SCSI Controller die gleichen Eintr&auml;ge in
- <filename>/dev</filename> benutzen, brauchen Sie diese nicht erstellen.
- Weiterhin haben Netzwerkkarten sowie SLIP/PPP-Pseudo-Ger&auml;te keine
- Eintr&auml;ge in <filename>/dev</filename>.</para>
- </sect1>
-
- <sect1 id="kernelconfig-trouble">
- <title>Wenn etwas schiefgeht</title>
-
- <para>Es gibt f&uuml;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&uuml;ck
- gibt &man.config.8; die die Zeilennummer der
- Fehlerstelle an, so dass Sie diese schnell in
- <application>vi</application> finden k&ouml;nnen. Beispielsweise
- k&ouml;nnten Sie folgende Fehlermeldung sehen:</para>
-
- <screen>config: line 17: syntax error</screen>
-
- <para>Im Befehlsmodus von <application>vi</application> k&ouml;nnen
- Sie sofort zur fraglichen Stelle springen, in dem Sie
- <command>17G</command> eingeben. &Uuml;berpr&uuml;fen Sie
- dort durch Vergleichen mit <filename>GENERIC</filename>,
- ob das Schl&uuml;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. &Uuml;berpr&uuml;fen Sie wiederum Ihre Konfiguration
- und wenn Sie keinen Fehler entdecken k&ouml;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&auml;sst sich nicht
- installieren:</term>
-
- <listitem>
- <para>Wenn das &Uuml;bersetzen des Kernels geklappt hat aber die
- Installation nicht, weil <command>make install</command> oder
- <command>make installkernel</command> fehlgeschlagen ist,
- sollten Sie zuerst &uuml;berpr&uuml;fen, ob Ihr System in der
- Sicherheitsstufe 1 (engl.
- <foreignphrase>secure level</foreignphrase>) l&auml;uft (siehe
- &man.init.8;). Ihr alter Kernel ist durch die
- <option>Immutable</option> Option
- vor Ver&auml;nderungen gesch&uuml;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&ouml;nnen Sie sich
- im &os; Boot Loader aussuchen. In den Loader gelangen Sie,
- in dem Sie einfach eine Taste au&szlig;er
- <keycap>Enter</keycap> dr&uuml;cken, wenn das System von 10
- herunterz&auml;hlt. Geben Sie dann <command>unload</command>
- ein und mit <command>boot <replaceable>kernel.old</replaceable>
- </command> booten Sie den alten Kernel. Sie k&ouml;nnen hier
- nat&uuml;rlich auch den Dateinamen eines anderen Kernels, der
- sauber bootet angeben. F&uuml;r alle F&auml;lle sollten Sie
- immer einen Kernel, der garantiert bootet, bereit
- halten.</para>
-
- <para>Nun k&ouml;nnen Sie die Konfiguration noch einmal
- &uuml;berpr&uuml;fen und den Kernel neu kompilieren. Dazu
- ist <filename>/var/log/messages</filename> sehr n&uuml;tzlich,
- da hier s&auml;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&uuml;r
- den Fall, dass Sie Probleme bei dem Bau des Kernels
- bekommen, auf. Der Name dieses Kernels sollte so
- gew&auml;hlt sein, dass er beim n&auml;chsten Bau nicht
- &uuml;berschrieben wird. Sie k&ouml;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&ouml;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&uuml;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&uuml;hren k&ouml;nnen,
- befinden Sie sich in einer h&ouml;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&ouml;nnen Sie die Variable wieder auf Ihren alten Wert
- zur&uuml;cksetzen.</para>
-
- <para>Wenn Sie den neuen Kernel, oder allgemein eine Datei,
- mit der <option>Immutable</option> Option versehen wollen,
- um sie vor Ver&auml;nderungen zu sch&uuml;tzen, f&uuml;hren Sie
- folgenden Befehl aus:</para>
-
- <screen>&prompt.root; <userinput>chflags schg /kernel</userinput></screen>
-
- <para>Ab &os;&nbsp;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&uuml;ssen nun die
- <filename>libkvm</filename> und die entsprechenden Programme
- neu kompilieren. Das ist ein Grund daf&uuml;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:
--->