Date: Mon, 18 Jan 2016 18:42:46 +0000 (UTC) From: Bjoern Heidotting <bhd@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r48054 - head/de_DE.ISO8859-1/books/handbook/kernelconfig Message-ID: <201601181842.u0IIgkqO061640@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bhd Date: Mon Jan 18 18:42:46 2016 New Revision: 48054 URL: https://svnweb.freebsd.org/changeset/doc/48054 Log: Update to r42827: This patch does the following: comments author names incorporates "9.4. Kernel Drivers, Subsystems, and Modules" into "9.2. Why Build a Custom Kernel?" fixes reference to 9.4 in bsdinstall chapter puts the configuration file section before the building the kernel section makes it clearer how to get src and cp the needed config file general wordsmithing to make the first half of this chapter less confusing Reviewed by: bcr Differential Revision: https://reviews.freebsd.org/D4965 Modified: head/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.xml Modified: head/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.xml ============================================================================== --- head/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.xml Mon Jan 18 07:02:29 2016 (r48053) +++ head/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.xml Mon Jan 18 18:42:46 2016 (r48054) @@ -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. µsoft;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. + µsoft;s <application>Gerätemanager</application> enthält + beispielsweise Informationen über die installierte + Hardware.</para> <note> <para>Einige Versionen von µsoft.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: <PS/2 Mouse> 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 @@ psm0: model Generic PS/2 mouse, device I <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 @@ following line in &man.loader.conf.5;: <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 @@ following line in &man.loader.conf.5;: <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 @@ options IPDIVERT 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 @@ options IPDIVERT </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 @@ cpu I686_CPU</programlisting> <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 @@ cpu I686_CPU</programlisting> <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 @@ device fwe # Ethernet </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>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201601181842.u0IIgkqO061640>