Page MenuHomeFreeBSD

D4965.diff
No OneTemporary

D4965.diff

Index: head/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.xml
+++ head/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.xml
@@ -5,10 +5,11 @@
$FreeBSD$
$FreeBSDde$
- basiert auf: r42014
+ basiert auf: r42827
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="kernelconfig">
<info><title>Konfiguration des &os;-Kernels</title>
+ <!--
<authorgroup>
<author><personname><firstname>Jim</firstname><surname>Mock</surname></personname><contrib>Erweitert und neu strukturiert von </contrib></author>
</authorgroup>
@@ -18,6 +19,7 @@
<authorgroup>
<author><personname><firstname>Robert</firstname><surname>Altschaffel</surname></personname><contrib>Übersetzt von </contrib></author>
</authorgroup>
+ -->
</info>
@@ -47,6 +49,10 @@
</listitem>
<listitem>
+ <para>Wie Sie eine Hardware-Inventur durchführen.</para>
+ </listitem>
+
+ <listitem>
<para>Wie Sie eine Kernelkonfigurationsdatei verändern.</para>
</listitem>
@@ -72,7 +78,7 @@
<sect1 xml:id="kernelconfig-custom-kernel">
<title>Wieso einen eigenen Kernel bauen?</title>
- <para>Traditionell besaß &os; einen <quote>monolithischen</quote>
+ <para>Traditionell besaß &os; einen monolithischen
Kernel. Der Kernel war ein einziges großes Programm, das eine
bestimmte Auswahl an Hardware unterstützte. Um das
Kernelverhalten zu ändern, musste man einen neuen Kernel
@@ -126,25 +132,53 @@
sind.</para>
</listitem>
</itemizedlist>
+
+ <para>Bevor Sie einen angepassten Kernel erstellen, überlegen Sie
+ sich bitte, warum Sie dies tun wollen. Wenn Sie lediglich eine
+ bestimmte Hardwareunterstützung benötigen, existiert diese
+ vielleicht schon als Kernelmodul.</para>
+
+ <para>Kernelmodule existieren in <filename>/boot/kernel</filename>
+ und können mit &man.kldload.8; dynamisch in den laufenden Kernel
+ geladen werden. Die meisten Kerneltreiber verfügen über ein
+ ladbares Modul und eine Manualpage. Der drahtlose
+ Ethernet-Treiber &man.ath.4; hat die folgenden Informationen in
+ seiner Manualpage:</para>
+
+ <programlisting>Alternatively, to load the driver as a module at boot time, place the
+following line in &man.loader.conf.5;:
+
+ if_ath_load="YES"</programlisting>
+
+ <para>Durch das Hinzufügen von
+ <literal>if_ath_load="YES"</literal> in
+ <filename>/boot/loader.conf</filename> wird das Modul dynamisch
+ beim Systemstart geladen.</para>
+
+ <para>In manchen Fällen gibt es kein entsprechendes Modul in
+ <filename>/boot/kernel</filename>. Dies gilt insbesondere für
+ bestimmte Subsysteme.</para>
</sect1>
<sect1 xml:id="kernelconfig-devices">
<info><title>Informationen über die vorhandene Hardware
beschaffen</title>
+ <!--
<authorgroup>
<author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Geschrieben von </contrib></author>
</authorgroup>
+ -->
</info>
- <para>Bevor Sie mit der Kernelkonfiguration beginnen, sollten
- Sie wissen, über welche Hardware das System verfügt. In Fällen,
- in denen &os; nicht das primäre Betriebssystem ist, können diese
- Informationen aus der aktuellen Betriebssystemkonfiguration
- ermittelt werden. &microsoft;s
- <application>Gerätemanager</application> enthält beispielsweise
- Informationen über installierte Hardware.</para>
+ <para>Bevor die Kernelkonfigurationsdatei bearbeitet wird, ist es
+ empfehlenswert eine Bestandsaufnahme der Hardware des Systems
+ durchzuführen. Auf einem Dual-Boot-System können diese
+ Informationen aus dem anderen Betriebssystem ermittelt werden.
+ &microsoft;s <application>Gerätemanager</application> enthält
+ beispielsweise Informationen über die installierte
+ Hardware.</para>
<note>
<para>Einige Versionen von &microsoft.windows; verfügen
@@ -154,48 +188,41 @@
können.</para>
</note>
- <para>Wenn kein weiteres Betriebssystem auf der Maschine vorhanden
- ist, muss der Administrator diese Informationen manuell
- zusammentragen. Eine Möglichkeit ist der Einsatz von
- &man.dmesg.8; und &man.man.1;. Die meisten &os;-Gerätetreiber
+ <para>Wenn &os; das einzige installierte Betriebssystem ist, dann
+ listet &man.dmesg.8; die Hardware auf, die während des
+ Systemstarts gefunden wurde. Die meisten &os;-Gerätetreiber
haben eine eigene Manualpage, die Informationen über die
- unterstützte Hardware enthält. Während des
- Systemstarts werden Informationen über die vorhandene
- Hardware ausgegeben. Die folgenden Zeilen zeigen beispielsweise
- an, dass der &man.psm.4;-Treiber eine angeschlossene Maus
- gefunden hat:</para>
+ unterstützte Hardware enthält. Die folgenden Zeilen zeigen
+ beispielsweise an, dass der &man.psm.4;-Treiber eine
+ angeschlossene Maus gefunden hat:</para>
<programlisting>psm0: &lt;PS/2 Mouse&gt; irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0</programlisting>
- <para>Dieser Treiber muss in Ihrer Kernelkonfigurationsdatei
- vorhanden sein oder durch das Werkzeug &man.loader.conf.5;
- geladen werden.</para>
-
- <para>Manchmal zeigt <command>dmesg</command> während des
- Systemstarts nur Systemmeldungen, aber keine Informationen
- zur gefundenen Hardware an. In solchen Situationen können
- diese Informationen aus <filename>/var/run/dmesg.boot</filename>
- entnommen werden.</para>
-
- <para>Eine weitere Möglichkeit bietet
- &man.pciconf.8;, das ausführliche Informationen
- bereitstellt. Dazu ein Beispiel:</para>
+ <para>Da diese Hardware vorhanden ist, sollte dieser Treiber
+ nicht aus einer angepassten Kernelkonfigurationsdatei entfernt
+ werden.</para>
+
+ <para>Wenn <command>dmesg</command> keine Informationen zur
+ gefundenen Hardware anzeigt, können diese Informationen auch
+ aus <filename>/var/run/dmesg.boot</filename> entnommen
+ werden.</para>
+
+ <para>Ein weiteres Werkzeug für die Suche nach Hardware ist
+ &man.pciconf.8;, das ausführliche Informationen bereitstellt.
+ Ein Beispiel:</para>
- <programlisting>ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
+ <screen>&prompt.user; <userinput>pciconf -lv</userinput>
+ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
vendor = 'Atheros Communications Inc.'
device = 'AR5212 Atheros AR5212 802.11abg wireless'
class = network
- subclass = ethernet</programlisting>
+ subclass = ethernet</screen>
- <para>Diese Zeilen, die Sie durch den Aufruf von
- <command>pciconf -lv</command> erhalten, zeigen,
- dass der Treiber <filename>ath</filename> eine drahtlose
- Ethernetkarte gefunden hat. Geben Sie
- <command>man <replaceable>ath</replaceable></command> ein, um
- die Manualpage &man.ath.4; zu lesen.</para>
+ <para>Die Ausgabe zeigt, dass der Treiber <filename>ath</filename>
+ eine drahtlose Ethernetkarte gefunden hat.</para>
<para>Die Option <option>-k</option> von &man.man.1; kann
verwendet werden, um nützliche Informationen zu erhalten. Um
@@ -207,139 +234,74 @@
<programlisting>ath(4) - Atheros IEEE 802.11 wireless network driver
ath_hal(4) - Atheros Hardware Access Layer (HAL)</programlisting>
- <para>Mit diesen Informationen ausgestattet, sollte der Bau eines
- angepassten Kernel keine großen Probleme bereiten.</para>
- </sect1>
-
- <sect1 xml:id="kernelconfig-modules">
- <title>Kerneltreiber, Subsysteme und Module</title>
-
- <indexterm>
- <primary>Kernel</primary>
- <secondary>Treiber / Module / Subsysteme</secondary>
- </indexterm>
-
- <para>Bevor Sie einen angepassten Kernel erstellen, überlegen Sie sich
- bitte, warum Sie dies tun wollen. Wenn Sie lediglich eine bestimmte
- Hardwareunterstützung benötigen, existiert diese vielleicht
- schon als Kernelmodul.</para>
-
- <para>Kernelmodule existieren in <filename>/boot/kernel</filename>
- und können dynamisch in den laufenden Kernel über
- &man.kldload.8; geladen werden. Die meisten, wenn nicht sogar
- alle, Kerneltreiber besitzen ein ladbares Modul und eine
- Manualpage. Der drahtlose Ethernettreiber
- <filename>ath</filename> hat die folgenden Information in seiner
- Manualpage:</para>
-
- <programlisting>Alternatively, to load the driver as a module at boot time, place the
-following line in &man.loader.conf.5;:
-
- if_ath_load="YES"</programlisting>
-
- <para>Durch das Hinzufügen von
- <literal>if_ath_load="YES"</literal> in
- <filename>/boot/loader.conf</filename> wird das Modul dynamisch
- beim Systemstart geladen.</para>
-
- <para>In manchen Fällen gibt es kein dazugehöriges Modul. Das
- gilt insbesondere für bestimmte Teilsysteme. Eine Möglichkeit,
- herauszufinden ob ein Treiber verfügbar ist, ist die Überprüfung
- des jeweiligen Moduls selbst.</para>
-
- <warning>
- <para>Es ist erstaunlich einfach, die Unterstützung für ein
- Gerät oder eine Option zu entfernen, und am Ende einen
- defekten Kernel zu erhalten. Wenn beispielsweise der
- &man.ata.4;-Treiber aus der Kernelkonfigurationsdatei entfernt
- wird, kann ein System, das den
- <acronym>ATA</acronym>-Festplattentreiber benötigt, nicht mehr
- starten. Im Zweifelsfall belassen Sie die Unterstützung
- besser im Kernel.</para>
- </warning>
+ <para>Mit einer Inventarliste der Hardware können Sie dann
+ sicherstellen, dass Sie die installierten Hardware-Treiber nicht
+ versehentlich entfernen, wenn Sie die Kernelkonfigurationsdatei
+ bearbeiten.</para>
</sect1>
- <sect1 xml:id="kernelconfig-building">
- <title>Erstellen und Installation eines angepassten
- Kernels</title>
-
- <note>
- <para>Sie benötigen den kompletten Quellcodebaum, um den
- Kernel zu bauen.</para>
- </note>
-
- <indexterm>
- <primary>Kernel</primary>
- <secondary>Erstellen und Installation</secondary>
- </indexterm>
-
- <para>Die Kernelquellen befinden sich im Verzeichnis
- <filename>/usr/src/sys</filename>. Es enthält mehrere
- Unterverzeichnisse, die bestimmte Teile des Kernels
- darstellen. Diese beinhalten
- <filename><replaceable>arch</replaceable>/conf</filename>, das
- die Kernelkonfigurationsdatei enthält, und
- <filename>compile</filename>, in dem der Kernel
- gebaut wird. <replaceable>arch</replaceable> enthält
- Unterverzeichnisse für jede unterstützte Architektur:
- <filename>i386</filename>,
- <filename>amd64</filename>, <filename>ia64</filename>,
- <filename>powerpc</filename>, <filename>sparc64</filename> und
- <filename>pc98</filename>. Alles in diesen Verzeichnissen ist
- nur für die jeweilige Architektur relevant. Der Rest des Codes
- ist maschinenunabhängig und für alle Plattformen gleich.
- Beachten Sie die logische Organisation der Verzeichnisstruktur,
- die jedem unterstützten Gerät, jedem Dateisystem und jeder
- Option ein eigenes Verzeichnis zuordnet.</para>
-
- <para>Die Beispiele in diesem Kapitel verwenden die
- i386-Architiktur. Wird ein anderes System benutzt,
- passen Sie bitte die Pfade entsprechend der Architektur
- des Systems an.</para>
-
- <note>
- <para>Wenn <filename>/usr/src/</filename> nicht existiert oder
- leer ist, sind die Quellen nicht installiert. Der einfachste
- Weg, die Kernelquellen zu installieren ist die Verwendung von
- <application>svn</application>, wie in
- <xref linkend="svn"/> beschrieben ist. Man sollte ebenfalls
- einen symbolischen Link auf <filename>/usr/src/sys/</filename>
- anlegen:</para>
-
- <screen>&prompt.root; <userinput>ln -s /usr/src/sys /sys</userinput></screen>
- </note>
+ <sect1 xml:id="kernelconfig-config">
+ <!--
+ <sect1info>
+ <authorgroup>
+ <author>
+ <firstname>Joel</firstname>
+ <surname>Dahl</surname>
+ <contrib>Aktualisiert von </contrib>
+ </author>
+ </authorgroup>
+ </sect1info>
+ -->
+ <title>Die Kernelkonfigurationsdatei</title>
+
+ <para>Bevor eine angepasste Kernelkonfigurationsdatei erstellt
+ werden kann, muss zuerst der vollständige &os; Quellcodebaum
+ installiert werden.</para>
+
+ <para>Falls <filename>/usr/src/</filename> nicht existiert oder
+ leer ist, sind die Kernelquellen nicht installiert. Die Quellen
+ können mit <application>Subversion</application>, wie im <xref
+ linkend="svn"/> beschrieben, installiert werden.</para>
+
+ <para>Sobald die Quellen installiert sind, können Sie sich einen
+ Überblick über <filename>/usr/src/sys</filename> verschaffen.
+ Dieses Verzeichnis enthält eine Reihe von Unterverzeichnissen,
+ einschließlich Verzeichnisse für die unterstützten Architekturen
+ <filename>amd64</filename>, <filename>i386</filename>,
+ <filename>ia64</filename>, <filename>pc98</filename>,
+ <filename>powerpc</filename> und <filename>sparc64</filename>.
+ Alles in diesen Verzeichnissen ist nur für die jeweilige
+ Architektur relevant. Der Rest des Codes ist machinenunabhängig
+ und für alle Architekturen gleich. Jede unterstützte
+ Architektur hat ein Unterverzeichnis <filename>conf</filename>,
+ das die <filename>GENERIC</filename> Kernelkonfigurationsdatei
+ für diese Architektur enthält.</para>
+
+ <para>Bearbeiten Sie <filename>GENERIC</filename> nicht direkt.
+ Kopieren Sie stattdessen die Datei unter einem anderen Namen und
+ machen dann die Änderungen an dieser Kopie. Traditionell
+ besteht der Name des Kernels immer aus Großbuchstaben. Wenn Sie
+ mehrere &os;-Maschinen mit unterschiedlicher Hardware betreuen,
+ ist es eine gute Idee, die Konfigurationsdatei nach den
+ Hostnamen der Maschinen zu benennen. In diesem Beispiel wird
+ eine Kopie der
+ <filename>GENERIC</filename> Kernelkonfigurationsdatei, namens
+ <filename>MYKERNEL</filename>, für die
+ <filename>amd64</filename>-Architektur erstellt:</para>
- <para>Als nächstes wechseln Sie in das Verzeichnis
- <filename>arch/conf</filename>
- und kopieren die Konfigurationsdatei
- <filename>GENERIC</filename> in eine Datei, die den
- Namen des Kernels trägt. Zum Beispiel:</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;-Maschinen mit
- unterschiedlicher Hardware betreuen, ist es nützlich, die
- Konfigurationsdatei nach dem Hostnamen der Maschinen zu
- benennen. Dieses Beispiel verwendet den Namen
- <filename><replaceable>MYKERNEL</replaceable></filename>.</para>
+ <screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>amd64</replaceable>/conf</userinput>
+&prompt.root; <userinput>cp GENERIC <replaceable>MYKERNEL</replaceable></userinput></screen>
<tip>
<para>Wenn Sie die Kernelkonfigurationsdatei fertig bearbeitet
- haben, speichern Sie eine Sicherungskopie außerhalb von
- <filename>/usr/src</filename>. Bearbeiten Sie
- <filename>GENERIC</filename> <emphasis>nicht</emphasis>
- direkt.</para>
-
- <para>Alternativ kann die Kernelkonfigurationsdatei an anderer
- Stelle aufbewahrt werden und im Verzeichnis
- <filename><replaceable>i386</replaceable></filename> ein Link
- auf die Datei erstellt werden.</para>
+ haben, sollten Sie eine Sicherungskopie außerhalb von
+ <filename>/usr/src</filename> speichern</para>
- <para>Beispiel:</para>
+ <para>Alternativ kann die Kernelkonfigurationsdatei an anderer
+ Stelle gespeichert, und ein symbolischer Link auf die Datei
+ erstellt werden:</para>
- <screen>&prompt.root; <userinput>cd /usr/src/sys/i386/conf</userinput>
+ <screen>&prompt.root; <userinput>cd /usr/src/sys/amd64/conf</userinput>
&prompt.root; <userinput>mkdir /root/kernels</userinput>
&prompt.root; <userinput>cp GENERIC /root/kernels/MYKERNEL</userinput>
&prompt.root; <userinput>ln -s /root/kernels/MYKERNEL</userinput></screen>
@@ -348,122 +310,9 @@
<para>Editieren Sie
<filename><replaceable>MYKERNEL</replaceable></filename> mit
einem Texteditor. Der Standard-Editor ist
- <application>vi</application>, dessen Nutzung in vielen Büchern
- aus der <link linkend="bibliography">Bibliographie</link> gut
- erklärt ist. Ein einfacherer Editor für Anfänger, namens
- <application>ee</application>, ist ebenfalls verfügbar.
- Sie können die Kommentare am Anfang der Konfigurationsdatei
- ändern, um die Änderungen gegenüber
- <filename>GENERIC</filename> zu dokumentieren.</para>
-
- <para>Wenn die <filename>GENERIC</filename> Konfigurationsdatei
- Sie verschreckt, folgen Sie den Beschreibungen im Abschnitt
- über die <link
- linkend="kernelconfig-config">Konfigurationsdatei</link>
- langsam und sorgfältig.</para>
-
- <note>
- <para>Nachdem Sie die <link linkend="svn">&os; Quellen
- synchronisieren</link>, sollten Sie
- <emphasis>immer</emphasis>
- <filename>/usr/src/UPDATING</filename> lesen, bevor Sie
- etwas aktualisieren. Diese Datei enthält alle wichtigen
- Informationen, die Sie beim Aktualisieren beachten müssen.
- <filename>/usr/src/UPDATING</filename> passt immer zur Version
- der &os; Quellen, und die Informationen dort sind aktueller
- als in diesem Handbuch.</para>
- </note>
-
- <para>Nach dem Speichern der Änderungen, kompilieren Sie den
- Quellcode für den Kernel.</para>
-
- <procedure>
- <title>Den Kernel bauen</title>
-
- <note>
- <para>Sie benötigen den kompletten Quellcodebaum, um den
- Kernel zu bauen.</para>
- </note>
-
- <step>
- <para>Wechseln Sie in das Verzeichnis <filename>/usr/src</filename>:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
- </step>
-
- <step>
- <para>Kompilieren Sie den neuen Kernel, und geben Sie den
- Namen der angepassten Kernelkonfigurationsdatei an:</para>
-
- <screen>&prompt.root; <userinput>make buildkernel KERNCONF=MYKERNEL</userinput></screen>
- </step>
-
- <step>
- <para>Installieren Sie den neuen Kernel:</para>
-
- <screen>&prompt.root; <userinput>make installkernel KERNCONF=MYKERNEL</userinput></screen>
- </step>
- </procedure>
-
- <tip>
- <para>In der Voreinstellung werden beim Bau eines angepassten
- Kernels stets <emphasis>alle</emphasis> Kernelmodule neu gebaut.
- Wollen Sie den Kernel schneller bauen oder nur bestimmte
- Module bauen, bearbeiten Sie
- <filename>/etc/make.conf</filename>, bevor Sie den Kernel
- bauen:</para>
-
- <programlisting>MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs</programlisting>
-
- <para>Diese Variable spezifiziert eine Liste von Modulen, die
- gebaut werden. In der Voreinstellung werden alle Module
- gebaut.</para>
-
- <programlisting>WITHOUT_MODULES = linux acpi sound ntfs</programlisting>
-
- <para>Diese Variable spezifiziert eine Liste von Modulen, die
- vom Bauprozess ausgeschlossen werden. Weitere verfügbare
- Variablen finden Sie in &man.make.conf.5;.</para>
- </tip>
-
- <indexterm>
- <primary>
- <filename>/boot/kernel.old</filename>
- </primary>
- </indexterm>
-
- <para>Der neue Kernel wird in <filename>/boot/kernel</filename>
- als <filename>/boot/kernel/kernel</filename> abgelegt,
- während der alte Kernel nach
- <filename>/boot/kernel.old/kernel</filename> verschoben wird.
- Um den neuen Kernel zu benutzen, starten Sie den Rechner neu.
- Falls etwas schief geht, sehen Sie
- bitte in dem Abschnitt zur <link linkend="kernelconfig-trouble">
- Fehlersuche</link> nach, und was zu tun
- ist, <link linkend="kernelconfig-noboot">wenn der neue Kernel nicht
- startet</link>.</para>
-
- <note>
- <para>Im Verzeichnis <filename>/boot</filename> werden andere
- Dateien, die zum Systemstart benötigt werden, wie der
- Boot-Loader &man.loader.8; und dessen Konfiguration, abgelegt.
- Module von Drittanbietern oder angepasste Module
- werden in <filename>/boot/kernel</filename>
- abgelegt. Beachten Sie bitte, dass diese Module immer
- zu dem verwendeten Kernel passen müssen. Module,
- die nicht zu dem verwendeten Kernel passen, können die
- Stabilität des Systems gefährden.</para>
- </note>
- </sect1>
-
- <sect1 xml:id="kernelconfig-config">
- <info><title>Die Kernelkonfigurationsdatei</title>
- <authorgroup>
- <author><personname><firstname>Joel</firstname><surname>Dahl</surname></personname><contrib>Aktualisiert von </contrib></author>
- </authorgroup>
- </info>
-
-
+ <application>vi</application>, jedoch steht mit
+ <application>ee</application> ein weiterer, einfach zu
+ bedienender Editor bereit.</para>
<indexterm>
<primary>Kernel</primary>
@@ -479,19 +328,22 @@
<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.
- Eine ausführliche Liste aller
- Optionen mit detaillierten Erklärungen finden Sie in
- <filename>NOTES</filename>, die sich in demselben
- Verzeichnis wie <filename>GENERIC</filename> befindet.
- Von der Architektur unabhängige Optionen sind in
- der Datei <filename>/usr/src/sys/conf/NOTES</filename>
- aufgeführt.</para>
+ <para>Das Format der Konfigurationsdatei ist einfach. Jede Zeile
+ enthält ein Schlüsselwort, das ein Gerät oder ein Subsystem
+ repräsentiert, ein Argument und eine kurze Beschreibung.
+ Jeder Text, der hinter einem <literal>#</literal> steht, gilt
+ als Kommentar und wird ignoriert. Um die Kernel-Unterstützung
+ für ein Gerät oder Subsystem zu entfernen, muss ein
+ <literal>#</literal> an den Anfang der Zeile, die dieses Gerät
+ oder Subsystem repräsentiert, gesetzt werden. Verändern Sie
+ keine Zeilen, die Sie nicht genau verstehen.</para>
+
+ <para>Neben den Kurzbeschreibungen in dieser Datei, finden Sie
+ zusätzliche Erklärungen in <filename>NOTES</filename>,
+ die sich in demselben Verzeichnis wie
+ <filename>GENERIC</filename> für die jeweilige Architektur
+ befindet. Von der Architektur unabhängige Optionen sind in
+ <filename>/usr/src/sys/conf/NOTES</filename> aufgeführt.</para>
<para>Es ist möglich, eine <literal>include</literal>-Anweisung
in die Kernelkonfigurationsdatei aufzunehmen.
@@ -522,10 +374,6 @@
von Konfigurationseinstellungen und deren Beschreibungen finden
Sie in &man.config.5;.</para>
- <para>Der übrige Teil dieses Kapitels behandelt die Inhalte einer
- typischen Konfigurationsdatei und die Rolle, die
- unterschiedliche Optionen und Geräte dabei spielen.</para>
-
<note>
<para>Um einen Kernel mit allen möglichen Optionen zu bauen,
führen Sie als <systemitem class="username">root</systemitem>
@@ -535,30 +383,6 @@
</note>
<indexterm>
- <primary>Kernel</primary>
- <secondary>Konfigurationsdatei</secondary>
- </indexterm>
-
- <para>Das folgende Beispiel zeigt eine <filename>GENERIC</filename>
- Konfigurationsdatei, die, wo notwendig, zusätzliche Kommentare
- enthält. Das Beispiel sollte der Kopie in
- <filename>/usr/src/sys/i386/conf/GENERIC</filename>
- sehr ähnlich sein.</para>
-
- <indexterm>
- <primary>Kerneloptionen</primary>
- <secondary>machine</secondary>
- </indexterm>
-
- <programlisting>machine i386</programlisting>
-
- <para>Gibt die Architektur der Maschine an und muss entweder
- <literal>amd64</literal>, <literal>i386</literal>,
- <literal>ia64</literal>, <literal>pc98</literal>,
- <literal>powerpc</literal> oder <literal>sparc64</literal>
- sein.</para>
-
- <indexterm>
<primary>Kerneloptionen</primary>
<secondary>cpu</secondary>
</indexterm>
@@ -587,20 +411,6 @@
<literal>ident</literal> wird beim Booten des neuen Kernels
ausgegeben.</para>
- <programlisting>#To statically compile in device wiring instead of /boot/device.hints
-#hints "GENERIC.hints" # Default places to look for devices.</programlisting>
-
- <para>Unter &os; werden Gerätetreiber mit &man.device.hints.5;
- konfiguriert. In der Voreinstellung ist dies
- <filename>/boot/device.hints</filename>. Die Option
- <literal>hints</literal> bindet die Gerätekonfiguration
- statisch in den Kernel ein, sodass
- <filename>/boot/device.hints</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>Diese Option aktiviert Debugging-Informationen.</para>
@@ -610,13 +420,6 @@
<para>Der voreingestellte Scheduler von &os;. Ändern Sie
diesen Wert nicht!</para>
- <programlisting>options PREEMPTION # Enable kernel thread preemption</programlisting>
-
- <para>Erlaubt es, Kernelthreads vor Threads mit höherer
- Prioritält auszuführen. Die Interaktivität
- des Systems wird dadurch erhöht. Interrupt-Threads werden
- dabei bevorzugt ausgeführt.</para>
-
<programlisting>options INET # InterNETworking</programlisting>
<para>Netzwerkunterstützung. Diese Option ist zwingend notwendig,
@@ -1441,6 +1244,78 @@
</sect2>
</sect1>
+ <sect1 xml:id="kernelconfig-building">
+ <title>Einen angepassten Kernel bauen und installieren</title>
+
+ <para>Nachdem die Änderungen an der angepassten
+ Kernelkonfigurationsdatei gespeichert sind, kann der Quellcode
+ für den Kernel mit den folgenden Schritten übersetzt
+ werden:</para>
+
+ <procedure>
+ <title>Einen Kernel bauen</title>
+
+ <indexterm>
+ <primary>Kernel</primary>
+ <secondary>bauen / installieren</secondary>
+ </indexterm>
+
+ <step>
+ <para>Wechseln Sie das Verzeichnis:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
+ </step>
+
+ <step>
+ <para>Bauen Sie den Kernel, indem Sie den Namen der
+ Kernelkonfigurationsdatei angeben:</para>
+
+ <screen>&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
+ </step>
+
+ <step>
+ <para>Installieren Sie den neuen Kernel. Dieser Befehl wird
+ den neuen Kernel nach
+ <filename>/boot/kernel/kernel</filename> kopieren, und den
+ alten Kernel nach
+ <filename>/boot/kernel.old/kernel</filename>
+ speichern:</para>
+
+ <screen>&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
+ </step>
+
+ <step>
+ <para>Fahren Sie das System herunter und starten Sie den neuen
+ Kernel. Wenn etwas nicht funktioniert, lesen Sie <xref
+ linkend="kernelconfig-noboot"/>.</para>
+ </step>
+ </procedure>
+
+ <para>In der Voreinstellung werden beim Bau eines angepassten
+ Kernels stets alle Kernelmodule neu gebaut. Um einen Kernel
+ schneller zu bauen, oder um nur bestimmte Module zu bauen,
+ bearbeiten Sie <filename>/etc/make.conf</filename>, bevor Sie
+ den Kernel neu bauen.</para>
+
+ <para>In diesem Beispiel werden über eine Variable nur die
+ Kernelmodule definiert, die auch tatsächlich gebaut werden
+ sollen. In der Voreinstellung werden alle Module gebaut:</para>
+
+ <programlisting>MODULES_OVERRIDE = linux acpi</programlisting>
+
+ <para>Alternativ kann auch eine Variable verwendet werden, die
+ bestimmte Kernelmodule vom Bauprozess ausschließt:</para>
+
+ <programlisting>WITHOUT_MODULES = linux acpi sound</programlisting>
+
+ <para>Weitere Variablen und deren Beschreibung finden Sie in
+ &man.make.conf.5;.</para>
+
+ <indexterm>
+ <primary><filename>/boot/kernel.old</filename></primary>
+ </indexterm>
+ </sect1>
+
<sect1 xml:id="kernelconfig-trouble">
<title>Wenn etwas schiefgeht</title>

File Metadata

Mime Type
text/plain
Expires
Thu, Sep 24, 9:11 PM (2 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
39541140
Default Alt Text
D4965.diff (28 KB)

Event Timeline