Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Jun 2017 21:42:20 +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: r50357 - head/de_DE.ISO8859-1/books/handbook/cutting-edge
Message-ID:  <201706102142.v5ALgKNu094675@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bhd
Date: Sat Jun 10 21:42:20 2017
New Revision: 50357
URL: https://svnweb.freebsd.org/changeset/doc/50357

Log:
  Update to r50251:
  
  Rewrite the Build from Source section, simplifying and clarifying.
  
  Approved by:	bcr
  Differential Revision:	https://reviews.freebsd.org/D11134

Modified:
  head/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.xml

Modified: head/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.xml
==============================================================================
--- head/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.xml	Sat Jun 10 15:20:12 2017	(r50356)
+++ head/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.xml	Sat Jun 10 21:42:20 2017	(r50357)
@@ -5,7 +5,7 @@
 
      $FreeBSD$
      $FreeBSDde$
-     basiert auf: r50201
+     basiert auf: r50251
 -->
 <chapter xmlns="http://docbook.org/ns/docbook"
   xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
@@ -283,8 +283,8 @@ MergeChanges /etc/ /var/named/etc/ /boot/device.hints<
 	Änderungen werden entweder akzeptiert, oder öffnen einen
 	Editor, oder <command>freebsd-update</command> bricht ab.  Im
 	Zweifelsfall sichern Sie <filename>/etc</filename> und
-	akzeptieren einfach die Änderungen.  Lesen Sie <xref
-	  linkend="mergemaster"/>, um Informationen über
+	akzeptieren einfach die Änderungen.  Lesen Sie
+	&man.mergemaster.8;, um Informationen über
 	<command>mergemaster</command> zu erhalten.</para>
 
       <programlisting># Directory in which to store downloaded updates and temporary
@@ -1186,1183 +1186,471 @@ before running "/usr/sbin/freebsd-update install"</scr
 	</listitem>
       </orderedlist>
     </sect2>
-
-    <sect2 xml:id="stable">
-      <title>&os.stable;</title>
-
-      <para>&os.stable; ist der Entwicklungszweig, auf dem Releases
-	erstellt werden.  Dieser Zweig ändert sich langsamer als
-	&os.current; und alle Änderungen hier sollten zuvor in
-	&os.current; ausgetestet sein.  Beachten Sie, dass dies
-	<emphasis>immer noch</emphasis> ein Entwicklungszweig ist
-	und daher zu jedem Zeitpunkt die Quellen von &os.stable;
-	verwendbar sein können oder nicht.  &os.stable; ist Teil des
-	Entwicklungsprozesses und nicht für Endanwender gedacht.
-	Benutzer, die nicht über die notwendigen Ressourcen zum
-	Testen verfügen, sollten stattdessen eine aktuelle Version
-	von &os; benutzen.</para>
-
-      <para>Wer daran interessiert ist den &os;-Entwicklungsprozess
-	zu verfolgen oder dazu beizutragen, insbesondere im Hinblick
-	auf das nächste Hauptversion, der sollte es in Erwägung
-	ziehen, &os.stable; zu benutzen.</para>
-
-      <para>Obwohl wir versuchen sicherzustellen, dass der
-	&os.stable; Zweig sich jederzeit übersetzen lässt und
-	lauffähig ist, können wir dafür keine Garantie übernehmen.
-	Auch wenn Neuentwicklungen in &os.current; stattfinden, ist
-	es jedoch so, dass mehr Leute &os.stable; anstelle von
-	&os.current; benutzen und es daher unvermeidlich ist, dass
-	Fehler und Grenzfälle erst in &os.stable; auffallen.  Aus
-	diesen Gründen empfehlen wir Ihnen
-	<emphasis>nicht</emphasis> blindlings &os.stable; zu
-	benutzen.  Es ist besonders wichtig, dass &os.stable; zuerst
-	sorgfältig in einer Testumgebung getestet wird, bevor die
-	Produktion auf &os.stable; migriert.</para>
-
-      <para>Um &os.stable; zu folgen:</para>
-
-      <indexterm>
-	<primary>-STABLE</primary>
-	<secondary>benutzen</secondary>
-      </indexterm>
-
-      <orderedlist>
-	<listitem>
-	  <para>Lesen Sie Mailingliste &a.stable.name;, damit Sie über
-	    Abhängigkeiten beim Bau von &os.stable; und Sachen, die
-	    besondere Aufmerksamkeit erfordern, informiert sind.
-	    Umstrittene Fehlerbehebungen oder Änderungen werden von
-	    den Entwicklern auf dieser Liste bekannt gegeben.  Dies
-	    erlaubt es den Benutzern, Einwände gegen die
-	    vorgeschlagenen Änderungen vorzubringen.</para>
-
-	  <para>Abonnieren Sie die passende
-	    <application>svn</application>-Liste für den jeweiligen
-	    Branch, den Sie verfolgen.  Wenn Sie beispielsweise den
-	    Zweig 9-STABLE verfolgen, lesen Sie die
-	    &a.svn-src-stable-9.name;.  Diese Liste enthält zu jeder
-	    Änderung das Commit-Log, das Informationen zu möglichen
-	    Seiteneffekten enthält.</para>
-
-	  <para>Um diese Listen zu abonnieren, besuchen Sie die
-	    Seite &a.mailman.lists.link;.  Klicken Sie auf die
-	    gewünschte Liste und folgenden Sie den Anweisungen.
-	    Wenn Sie daran interessiert sind, Änderungen am gesamten
-	    Quellbaum zu verfolgen, abonnieren Sie
-	    &a.svn-src-all.name;.</para>
-	</listitem>
-
-	<listitem>
-	  <para>Wenn Sie ein neues System installieren und dazu
-	    einen der monatlich aus &os.stable; erzeugten Snapshots
-	    verwenden wollen, sollten Sie zuerst <link
-	      xlink:href="&url.base;/snapshots">
-	      www.freebsd.org/snapshots</link> auf aktuelle
-	    Informationen überprüfen.  Alternativ können Sie auch
-	    das neueste &os.stable;-Release von den <link
-	      linkend="mirrors">&os; Spiegeln</link> beziehen.</para>
-
-	  <para>Um ein bestehendes &os;-System auf &os.stable; zu
-	    aktualisieren, benutzen Sie <link
-	      linkend="svn">svn</link>, um den gewünschten
-	    Entwicklungs- oder Release-Zweig auszuchecken.  Die
-	    Zweige, wie beispielsweise <literal>stable/9</literal>,
-	    sind unter <link xlink:href="&url.base;/releng/">
-	      www.freebsd.org/releng</link> aufgeführt.</para>
-	</listitem>
-
-	<listitem>
-	  <para>Lesen Sie <filename>/usr/src/Makefile</filename>
-	    sehr aufmerksam bevor Sie &os.stable; aktualisieren und
-	    folgen Sie den Anweisungen in <xref
-	      linkend="makeworld"/>.  Lesen Sie die
-	    Mailingliste &a.stable; und
-	    <filename>/usr/src/UPDATING</filename>, um über
-	    Änderungen im Installationsverfahren, die manchmal vor
-	    der Einführung eines neuen Releases notwendig sind,
-	    informiert zu sein.</para>
-	</listitem>
-      </orderedlist>
-    </sect2>
   </sect1>
 
-  <sect1 xml:id="synching">
-    <title>Synchronisation der Quellen</title>
+  <sect1 xml:id="updating-src">
+    <title>&os; aus den Quellen aktualisieren</title>
 
-    <para>Es gibt verschiedene Methoden um die Quellen von &os;
-      aktuell zu halten.  Dieser Abschnitt beschreibt
-      <application>Subversion</application>, den primären Dienst für
-      diese Aufgabe.</para>
+    <para>Das Aktualisieren von &os; aus den Quellen bietet im
+      Vergleich zu binären Updates mehrere Vorteile.  Der Quellcode
+      kann mit Optionen gebaut werden, um die Vorteile von
+      spezifischer Hardware zu nutzen.  Teile des Basissystems können
+      mit veränderten Einstellungen gebaut, oder falls nicht
+      gewünscht, auch ganz ausgelassen werden.
+      Dieser Prozess dauert zwar länger als die Aktualisierung mit
+      binären Updates, ermöglicht aber eine vollständige Anpassung, um
+      eine individuelle Version von &os; zu erstellen.</para>
 
-    <warning>
-      <para>Obwohl es möglich ist, nur Teile des Quellbaums zu
-	aktualisieren, ist die einzige unterstütze Prozedur,
-	den kompletten Quellbaum zu aktualisieren und alles neu zu
-	übersetzen.  Dazu zählen alle Userland-Programme in
-	<filename>/bin</filename> und <filename>/sbin</filename>,
-	sowie die Kernelquellen.  Wird hingegen nur ein Teil der
-	Quellen, zum Beispiel nur der Kernel oder nur die Programme
-	aus dem Userland aktualisiert, treten Probleme auf, die von
-	Übersetzungsfehlern über Kernel-Panics bis hin zu
-	Beschädigung von Daten reichen können.</para>
-    </warning>
+    <sect2 xml:id="updating-src-quick-start">
+      <title>Schnellstartanleitung</title>
 
-    <indexterm>
-      <primary>Subversion</primary>
-    </indexterm>
+      <para>Diese kurze Referenz zeigt die typischen Schritte um &os;
+	aus den Quellen zu aktualisieren.  Spätere Abschnitte
+	beschreiben die Prozedur im Detail.</para>
 
-    <para><application>Subversion</application> benutzt die
-      <foreignphrase>Pull</foreignphrase>-Methode, um die Quellen zu
-      aktualisieren.  Der Benutzer, oder ein
-      <command>cron</command>-Skript, ruft das Programm
-      <command>svn</command> auf, das die Quellen aktualisiert.
-      <application>Subversion</application> ist die empfohlene
-      Methode, um die lokalen Quellen zu aktualisieren, da
-      aktuelle Updates zu einem vom Benutzer bestimmten Zeitpunkt
-      herunterlädt.  Zudem ist es einfach, die Prozedur auf bestimmte
-      Dateien oder Verzeichnisse zu beschränken.  Die angeforderten
-      Updates werden zur Laufzeit auf dem Server generiert.  Die
-      Aktualisierung der Quellen wird in <xref linkend="svn"/>
-      beschrieben.</para>
-
-    <para>Wenn ein Benutzer unabsichtlich Teile des Archivs löscht,
-      wird das von <application>Subversion</application> erkannt und
-      bei der nächsten Aktualisierung repariert.</para>
-  </sect1>
-
-  <sect1 xml:id="makeworld">
-    <title>Das Basissystem neu bauen</title>
-
-    <indexterm>
-      <primary>Bau des Basissystems</primary>
-    </indexterm>
-
-    <para>Sobald der lokalen Quellbaum mit einer bestimmten &os;
-      Version, z.B. &os.stable; oder &os.current; synchronisiert
-      wurde, kann dieser dazu benutzt werden das System neu zu
-      bauen.  Dieser Prozess wird auch als
-      <quote>die Welt neu bauen</quote> bezeichnet.</para>
-
-    <para><emphasis>Bevor</emphasis> das System neu gebaut wird,
-      müssen die folgende Aufgaben erledigt werden:</para>
-
-    <procedure>
-      <title>Führen Sie diese Aufgaben aus, <emphasis>bevor</emphasis>
-	das System neu gebaut wird</title>
-
-      <step>
-	<para>Sichern Sie alle wichtigen Daten auf ein anderes System
-	  oder auf Wechselmedien und überprüfen Sie die Integrität der
-	  Sicherungskopie.  Zudem sollten Sie bootfähige
-	  Installationsmedien zur Hand haben.  Es kann nicht oft genug
-	  betont werden, wie wichtig es ist, vor dem Neubau des
-	  Systems eine Sicherung zu machen.  Während der Neubau des
-	  Systems eine einfache Aufgabe ist, wird es zwangsläufig
-	  einmal vorkommen, dass Fehler im Quellcode dazu führen, dass
-	  das System nicht mehr bootet.  Wahrscheinlich wird die
-	  Sicherungskopie nicht benötigt, aber gehen Sie auf Nummer
-	  sicher!</para>
-      </step>
-
-      <step>
-	<indexterm><primary>Mailingliste</primary></indexterm>
-	<para>Lesen Sie die neuesten Einträge in &a.stable; oder
-	  &a.current;, je nachdem welchen Zweig Sie folgen.
-	  Informieren Sie sich über bekannte Probleme und welche
-	  Systeme davon betroffen sind.  Wenn ein Problem für den
-	  von Ihnen synchronisierten Code besteht, warten Sie auf
-	  eine <quote>all clear</quote>-Nachricht, die besagt, dass
-	  das Problem behoben wurde.  Synchronisieren Sie dann die
-	  Quellen neu um sicherzustellen, dass die lokale Version
-	  die benötigten Korrekturen hat.</para>
-      </step>
-
-      <step>
-	<para>Lesen Sie <filename>/usr/src/UPDATING</filename> für
-	  zusätzliche Aufgaben, die für diese Version des Quellcodes
-	  notwendig sind.  Diese Datei enthält wichtige Informationen
-	  über potentielle Probleme.  Gegebenenfalls müssen einige
-	  Kommandos in einer bestimmten Reihenfolge ausgeführt werden.
-	  Manche Aktualisierungen erfordern bestimmte zusätzliche
-	  Schritte, die ausgeführt werden müssen, bevor das System neu
-	  gebaut wird, wie beispielsweise das umbenennen oder löschen
-	  von bestimmten Dateien.  Diese Aufgaben sind am Ende der
-	  Datei aufgeführt.  Die Anweisungen in
-	  <filename>UPDATING</filename> sind aktueller als die in
-	  diesem Handbuch.  Im Zweifelsfall folgen Sie bitte den
-	  Anweisungen aus <filename>UPDATING</filename>.</para>
-      </step>
-    </procedure>
-
-    <warning>
-      <title>Verwenden Sie nicht <command>make world</command></title>
-
-      <para>Einige ältere Dokumentationen empfehlen
-	<command>make world</command> für den Neubau.
-	Das Kommando überspringt jedoch wichtige Schritte und sollte
-	nur von Experten verwendet werden.  In fast allen Fällen ist
-	<command>make world</command> falsch.  Benutzen Sie
-	stattdessen die nachstehende Anleitung.</para>
-    </warning>
-
-    <sect2 xml:id="canonical-build">
-      <title>Übersicht</title>
-
-      <para>Dieser Prozess geht davon aus, dass ein System von einer
-	älteren Version von &os; auf eine neuere Version aktualisiert
-	wird.  Der Quellcode für die neue Version wurde nach den
-	Anweisungen in <xref linkend="synching"/>
-	synchronisiert.</para>
-
-      <para>Das Basissystem enthält den &os;-Kernel, die
-	zentralen Binärdateien, Bibliotheken und Entwicklerdateien
-	sowie einen integrierten Compiler.  Die Reihenfolge, in der
-	diese Komponenten gebaut werden, ist wichtig.</para>
-
-      <para>Beispielsweise könnte der alte Compiler aufgrund von
-	Fehlern nicht in der Lage sein, den neuen Kernel zu
-	übersetzen.  Da der neue Kernel mit dem neuen Compiler
-	übersetzt wird, muss der neue Compiler gebaut, aber nicht
-	notwendigerweise <emphasis>installiert</emphasis> werden,
-	bevor der neue Kernel gebaut wird.</para>
-
-      <para>Das neue Basissystem ist eventuell auf neue Funktionen des
-	Kernels angewiesen.  Aus diesem Grund muss der neue Kernel
-	installiert sein, bevor das neue Basissystem installiert
-	wird.</para>
-
-      <para>Das alte Basissystem wird möglicherweise nicht korrekt mit
-	dem neuen Kernel funktionieren, weshalb das neue Basissystem
-	sofort nach der Installation des neuen Kernels installiert
-	werden muss.</para>
-
-      <para>Manche Änderungen an der Konfiguration müssen erledigt
-	worden sein, bevor das neue Basissystem installiert wird,
-	jedoch können andere die Funktionalität des alten Basissystems
-	beeinträchtigen.  Aus diesem Grund sind zwei verschiedene
-	Schritte notwendig, um eine Aktualisierung der Konfiguration
-	durchzuführen.  Der Aktualisierungsprozess ersetzt zum
-	Großteil Dateien oder fügt neue hinzu, bestehende Dateien
-	werden nicht gelöscht.  Da dieser Prozess Probleme verursachen
-	kann, werden in <filename>/usr/src/UPDATING</filename>
-	gegebenenfalls Dateien aufgelistet, die manuell entfernt
-	werden müssen.</para>
-
-      <para>Diese Bedenken haben zu einer empfohlenen
-	Reihenfolge bei der Aktualisierung geführt, die im folgenden
-	Prozess beschrieben wird.</para>
-
-      <note>
-	<para>Es ist ratsam, die Ausgaben von <command>make</command>
-	  in einer Datei zu sichern.  Wenn etwas schief geht, kann
-	  eine Kopie der Fehlermeldung zu einer der &os;-Mailinglisten
-	  gesendet werden.</para>
-
-	<para>Dazu können Sie einfach <command>script</command>
-	  benutzen, dem Sie beim Aufruf als Parameter den Dateinamen
-	  für die Ausgaben mitgeben.  Sichern Sie die Ausgaben nicht
-	  nach <filename>/tmp</filename>, da dessen Inhalt beim
-	  nächsten Neustart vielleicht verloren geht.  Ein besserer
-	  Platz ist <filename>/var/tmp</filename>.  Setzen Sie dieses
-	  Kommando unmittelbar vor dem Neubau ab und geben Sie
-	  <userinput>exit</userinput> ein, wenn der Bau abgeschlossen
-	  ist:</para>
-
-	<screen>&prompt.root; <userinput>script <replaceable>/var/tmp/mw.out</replaceable></userinput>
-Script started, output file is /var/tmp/mw.out</screen>
-      </note>
-
       <procedure>
-	<title>Zusammenfassung des Aktualisierungsprozesses</title>
+	<step xml:id="updating-src-quick-start-preparing">
+	  <title>Vorbereitungen</title>
 
-	<para>Die verwendeten Kommandos sollten in der hier
-	  angegebenen Reihenfolge ausgeführt werden.  Die Funktionen
-	  der einzelnen Kommandos werden in diesem Abschnitt
-	  beschrieben.</para>
+	  <para>Wenn der Rechner zum ersten mal aktualisiert wird,
+	    geben Sie folgendes Kommando ein:</para>
 
-	<step>
-	  <para>Wenn der Bauprozess bereits einmal auf diesem
-	    System durchgeführt wurde, existiert vielleicht noch eine
-	    Kopie davon in <filename>/usr/obj</filename>.  Um den
-	    neuen Bauprozess zu beschleunigen und Ärger aufgrund von
-	    Abhängigkeiten zu vermeiden, kann dieses Verzeichnis
-	    entfernt werden:</para>
+	  <screen>&prompt.root; <userinput>etcupdate extract</userinput></screen>
 
-	  <screen>&prompt.root; <userinput>chflags -R noschg /usr/obj/*</userinput>
-&prompt.root; <userinput>rm -rf /usr/obj</userinput></screen>
-	</step>
+	  <para>Dies erstellt einen Kontrollpunkt zum späteren
+	    Vergleich und Zusammenführen von
+	    Systemeinstellungen.</para>
 
-	<step>
-	  <para>Übersetzen Sie zuerst den neuen Compiler und
-	    ein paar damit zusammenhängende Werkzeuge.  Verwenden Sie
-	    dann den neuen Compiler, um den Rest des Basissystems zu
-	    erstellen.  Das Ergebnis wird in
-	    <filename>/usr/obj</filename> abgelegt.</para>
-
-	  <screen>&prompt.root; <userinput>cd /usr/src</userinput>
-&prompt.root; <userinput>make buildworld</userinput></screen>
+	  <para><emphasis>Dieses Kommando muss auf dem Rechner nur
+	      einmalig ausgeführt werden.</emphasis>
+	    &man.etcupdate.8; benötigt nach dem ersten
+	    <emphasis>extract</emphasis> keine weiteren
+	    Aktualisierungen.</para>
 	</step>
 
 	<step>
-	  <para>Benutzen Sie den neuen Compiler aus
-	    <filename>/usr/obj</filename>, um sich vor falschen
-	    Compiler-Kernel-Kombinationen abzusichern.  Dies ist
-	    notwendig, da sich einige Datenstrukturen geändert haben
-	    könnten und Programme wie &man.ps.1; und &man.top.1; nur
-	    mit einem Kernel zusammen arbeiten, der auch zu dem
-	    entsprechenden Quellcode passt.</para>
+	  <title>Aktualisierung und Bauprozess</title>
 
-	  <screen>&prompt.root; <userinput>make buildkernel</userinput></screen>
-	</step>
+	  <screen>&prompt.root; <userinput>svn update /usr/src</userinput>  <co xml:id="updating-src-qs-svnup"/>
+<emphasis>check <filename>/usr/src/UPDATING</filename></emphasis>  <co xml:id="updating-src-qs-review-updating"/>
+&prompt.root; <userinput>cd /usr/src</userinput>          <co xml:id="updating-src-qs-cd"/>
+&prompt.root; <userinput>make -j<replaceable>4</replaceable> buildworld</userinput>  <co xml:id="updating-src-qs-buildworld"/>
+&prompt.root; <userinput>make -j<replaceable>4</replaceable> kernel</userinput>      <co xml:id="updating-src-qs-kernel"/>
+&prompt.root; <userinput>shutdown -r now</userinput>      <co xml:id="updating-src-qs-reboot"/>
+&prompt.root; <userinput>cd /usr/src</userinput>          <co xml:id="updating-src-qs-cd2"/>
+&prompt.root; <userinput>make installworld</userinput>    <co xml:id="updating-src-qs-installworld"/>
+&prompt.root; <userinput>etcupdate</userinput>      <co xml:id="updating-src-qs-etcupdate"/>
+&prompt.root; <userinput>shutdown -r now</userinput>      <co xml:id="updating-src-qs-shutdown"/></screen>
 
-	<step>
-	  <para>Installieren Sie den neuen Kernel und die
-	    Kernelmodule, damit Sie den frisch aktualisierten Kernel
-	    starten können.  Wenn <varname>kern.securelevel</varname>
-	    einen Wert größer als <literal>1</literal> besitzt
-	    <emphasis>und</emphasis> der Kernel mit
-	    <literal>noschg</literal> oder ähnlichen Optionen
-	    geschützt ist, müssen Sie zuerst in den Single-User-Modus
-	    wechseln.  Andernfalls läuft dieses Kommando problemlos im
-	    Mehrbenutzermodus.  Weitere Informationen über
-	    <varname>kern.securelevel</varname> finden Sie in
-	    &man.init.8;.  Optionen, die auf Dateien gesetzt werden
-	    können, werden in &man.chflags.1; detailliert
-	    erläutert.</para>
+	  <calloutlist>
+	    <callout arearefs="updating-src-qs-svnup">
+	      <para>Holt die neueste Version der Quellen.
+		<xref linkend="updating-src-obtaining-src"/> enthält
+		weitere Informationen zum Aktualisieren und Bauen der
+		Quellen.</para>
+	    </callout>
 
-	  <screen>&prompt.root; <userinput>make installkernel</userinput></screen>
-	</step>
+	    <callout arearefs="updating-src-qs-review-updating">
+	      <para><filename>/usr/src/UPDATING</filename> enthält
+		Anweisungen für alle manuellen Schritte, die vor oder
+		nach dem Bau der Quellen erforderlich sind.</para>
+	    </callout>
 
-	<step>
-	  <para>Starten Sie das System in den Single-User-Modus, damit
-	    Probleme mit der Aktualisierung von Programmen, die
-	    bereits gestartet sind, minimiert werden.  Ebenso
-	    minimiert dieser Modus Probleme, die mit der Verwendung
-	    des alten Basissystems und des neuen Kernels zu tun
-	    haben.</para>
+	    <callout arearefs="updating-src-qs-cd">
+	      <para>Wechsel in das Bauverzeichnis.</para>
+	    </callout>
 
-	  <screen>&prompt.root; <userinput>shutdown now</userinput></screen>
+	    <callout arearefs="updating-src-qs-buildworld">
+	      <para>Bau des Basissystems, mit Ausnahme des
+		Kernels.</para>
+	    </callout>
 
-	  <para>Führen Sie folgende Befehle im Single-User-Modus aus,
-	    wenn das System mit einem
-	    <acronym>UFS</acronym>-Dateisystem formatiert ist:</para>
+	    <callout arearefs="updating-src-qs-kernel">
+	      <para>Bau und Installation des Kernels.  Dieser Schritt
+		ist gleichbedeutend mit
+		<buildtarget>buildkernel</buildtarget> und
+		<buildtarget>installkernel</buildtarget>.</para>
+	    </callout>
 
-	  <screen>&prompt.root; <userinput>mount -u /</userinput>
-&prompt.root; <userinput>mount -a -t ufs</userinput>
-&prompt.root; <userinput>swapon -a</userinput></screen>
+	    <callout arearefs="updating-src-qs-installworld">
+	      <para>Installation des Basissystems.</para>
+	    </callout>
 
-	  <para>Wenn das System mit <acronym>ZFS</acronym> formatiert
-	    ist, führen Sie stattdessen folgende Befehle aus.  In
-	    diesem Beispiel ist der Name des Pools
-	    <literal>zroot</literal>:</para>
+	    <callout arearefs="updating-src-qs-etcupdate">
+	      <para>Aktualisierung und Zusammenführung der
+		Konfigurationsdateien in
+		<filename>/etc</filename>.</para>
+	    </callout>
 
-	  <screen>&prompt.root; <userinput>zfs set readonly=off zroot</userinput>
-&prompt.root; <userinput>zfs mount -a</userinput></screen>
+	    <callout arearefs="updating-src-qs-shutdown">
+	      <para>Neustart des Systems mit dem neu erstellten
+		Basissystem und Kernel.</para>
+	    </callout>
+	  </calloutlist>
 	</step>
-
-	<step>
-	  <para>Optional: Wenn eine andere Tastaturbelegung als
-	    US-Englisch gewünscht wird, kann diese mit &man.kbdmap.1;
-	    angepasst werden:</para>
-
-	  <screen>&prompt.root; <userinput>kbdmap</userinput></screen>
-	</step>
-
-	<step>
-	  <para>Führen Sie folgenden Befehl aus, wenn die
-	    <acronym>CMOS</acronym>-Uhr auf die lokale Zeit
-	    eingestellt ist (dies ist der Fall, wenn die Ausgabe von
-	    &man.date.1; nicht die richtige Zeit anzeigt):</para>
-
-	  <screen>&prompt.root; <userinput>adjkerntz -i</userinput></screen>
-	</step>
-
-	<step>
-	  <para>Bei der Aktualisierung des Basissystems werden
-	    bestimmte Verzeichnisse, wie <filename>/etc</filename>,
-	    <filename>/var</filename> und <filename>/usr</filename>
-	    ausgelassen.  Im nächsten Schritt werden ein paar
-	    Konfigurationsdateien zur Vorbereitung für das neue
-	    Basissystem aktualisiert.  Der folgende Befehl
-	    aktualisiert lediglich Dateien, die für das Gelingen von
-	    <buildtarget>installworld</buildtarget> unerlässlich sind.
-	    Beispielsweise können neue Gruppen, Systembenutzerkonten,
-	    oder neue Startskripten erstellt werden, die seit der
-	    letzten Aktualisierung hinzugefügt wurden.  Dieser Schritt
-	    ist notwendig, damit
-	    <buildtarget>installworld</buildtarget> in der Lage ist,
-	    die neuen Konten, Gruppen und Skripten zu verwenden.
-	    Weitere Informationen zu diesem Befehl finden Sie in
-	    <xref linkend="mergemaster"/>:</para>
-
-	  <screen>&prompt.root; <userinput>mergemaster -p</userinput></screen>
-	</step>
-
-	<step>
-	  <para>Installieren Sie das neue Basissystem und die
-	    Systemdateien aus <filename>/usr/obj</filename>:</para>
-
-	  <screen>&prompt.root; <userinput>cd /usr/src</userinput>
-&prompt.root; <userinput>make installworld</userinput></screen>
-	</step>
-
-	<step>
-	  <para>Aktualisieren Sie die verbleibenden
-	    Konfigurationsdateien:</para>
-
-	  <screen>&prompt.root; <userinput>mergemaster -iF</userinput></screen>
-	</step>
-
-	<step>
-	  <para>Löschen Sie veraltete Dateien.  Dieser Schritt
-	    ist wichtig, da alte Dateien manchmal Probleme bereiten,
-	    falls sie nicht entfernt werden:</para>
-
-	  <screen>&prompt.root; <userinput>make delete-old</userinput></screen>
-	</step>
-
-	<step>
-	  <para>Nun wird ein Neustart benötigt, um den neuen Kernel
-	    und das neue Basissystem zu laden:</para>
-
-	  <screen>&prompt.root; <userinput>reboot</userinput></screen>
-	</step>
-
-	<step>
-	  <para>Stellen Sie sicher, dass alle Ports neu gebaut wurden,
-	    bevor die alten Bibliotheken entfernt werden.  Folgen
-	    Sie dazu den Anweisungen aus <xref
-	      linkend="ports-upgrading"/>.  Entfernen Sie anschließend
-	    alle veralteten Bibliotheken um Konflikte mit den neuen
-	    Bibliotheken zu vermeiden.  Weitere Informationen zu
-	    diesem Schritt finden Sie
-	    in <xref linkend="make-delete-old"/>.</para>
-
-	  <screen>&prompt.root; <userinput>make delete-old-libs</userinput></screen>
-	</step>
       </procedure>
-
-      <indexterm><primary>Single-User Modus</primary></indexterm>
-
-      <para>Wenn Sie eine Ausfallzeit des Systems in Kauf nehmen
-	können, sollten sie das System im Single-User Modus
-	bauen.  Die Neuinstallation des Systems verändert viele
-	wichtige Systemdateien, Systemwerkzeuge, Bibliotheken und
-	Include-Dateien.  Ändern Sie diese Dateien auf einem laufenden
-	System, insbesondere mit aktiven Nutzern, kann dies große
-	Probleme verursachen.</para>
     </sect2>
 
-    <sect2 xml:id="src-updating">
-      <title>Konfigurationsdateien</title>
+    <sect2 xml:id="updating-src-preparing">
+      <title>Vorbereitungen zum Aktualisieren aus den Quellen</title>
 
-      <indexterm>
-        <primary><filename>make.conf</filename></primary>
-      </indexterm>
+      <para>Wenn der Rechner zum ersten Mal aus den Quellen
+	aktualisiert wird, lassen Sie
+	<command>etcupdate extract</command> laufen, um einen
+	Kontrollpunkt zum späteren Vergleich zu erstellen.  Dieser
+	Schritt wird einmalig auf dem Rechner ausgeführt.</para>
 
-      <para>Der Bauprozess verwendet verschiedene
-	Konfigurationsdateien.</para>
-
-      <para>Das <filename>Makefile</filename> in
-	<filename>/usr/src</filename> legt fest, wie die Programme,
-	aus denen &os; besteht, zu bauen sind und in welcher
-	Reihenfolge diese zu bauen sind.</para>
-
-      <para>Die verfügbaren Optionen für <command>make</command>
-	werden in &man.make.conf.5; und
-	<filename>/usr/share/examples/etc/make.conf</filename>
-	beschrieben.  Jede Option in
-	<filename>/etc/make.conf</filename> beeinflusst das Verhalten
-	von <command>make</command> beim Bau von Programmen.  Die in
-	<filename>/etc/make.conf</filename> gesetzten Optionen wirken
-	sich bei jedem Aufruf von <command>make</command> aus,
-	einschließlich beim Bau von Programmen aus der Ports-Sammlung,
-	vom Benutzer geschriebene C-Programme oder beim Bau des
-	&os;-Betriebssystems.  Änderungen an einigen Einstellungen
-	können weitreichende und unerwartete Auswirkungen nach sich
-	ziehen.  Lesen Sie die Kommentare in diesen beiden Ressourcen
-	und beachten Sie, dass die Standardwerte aus einer Kombination
-	von Leistung und Sicherheit gewählt wurden.</para>
-
-      <indexterm>
-	<primary><filename>/etc/src.conf</filename></primary>
-      </indexterm>
-
-      <para>Der Bau des Betriebssystems aus dem Quellcode wird von
-	<filename>/etc/src.conf</filename> kontrolliert.  Im Gegensatz
-	zu <filename>/etc/make.conf</filename> greifen die Optionen in
-	<filename>/etc/src.conf</filename> nur dann, wenn das
-	&os; Betriebssystem selbst gebaut wird.  Die vielen Optionen
-	für diese Datei werden in &man.src.conf.5; beschrieben.
-	Seien Sie vorsichtig mit dem Entfernen von scheinbar nicht
-	mehr benötigten Kernelmodulen und Optionen.  Manchmal gibt es
-	unerwartete oder subtile Wechselwirkungen.</para>
+      <para>Lesen Sie <filename>/usr/src/UPDATING</filename>.  Jeder
+	manuelle Schritt, welcher vor oder nach der Aktualisierung
+	erforderlich ist, wird in dieser Datei beschrieben.</para>
     </sect2>
 
-    <sect2 xml:id="make-buildworld">
-      <title>Variablen und Ziele</title>
+    <sect2 xml:id="updating-src-obtaining-src">
+      <title>Den Quellcode aktualisieren</title>
 
-      <para>Ein typischer Aufruf von <command>make</command> sieht
-	wie folgt aus:</para>
+      <para>Der Quellcode von &os; befindet sich in
+	<filename>/usr/src/</filename>.  Die bevorzugte Methode zur
+	Aktualisierung dieser Quellen ist über das
+	Versionskontrollsystem <application>Subversion</application>.
+	Sie sollten sicherstellen, dass der Quellcode unter
+	Versionskontrolle steht:</para>
 
-      <screen>&prompt.root; <userinput>make -<replaceable>x</replaceable> -D<replaceable>VARIABLE</replaceable> <replaceable>target</replaceable></userinput></screen>
+      <screen>&prompt.root; <userinput>svn info /usr/src</userinput>
+Path: /usr/src
+Working Copy Root Path: /usr/src
+...</screen>
 
-      <para>In diesem Beispiel ist
-	<option>-<replaceable>x</replaceable></option> eine Option,
-	die an <command>make</command> übergeben wird.  Eine Liste
-	gültiger Optionen finden Sie in &man.make.1;.</para>
+      <para>Dies ist ein Hinweis darauf, dass
+	<filename>/usr/src/</filename> unter Versionskontrolle steht
+	und mit &man.svn.1; aktualisiert werden kann.</para>
 
-      <para>Mit
-	<option>-D<replaceable>VARIABLE</replaceable></option>
-	setzen Sie eine Variable.  Das Verhalten der
-	<filename>Makefile</filename> wird von Variablen bestimmt.
-	Diese sind etweder in <filename>/etc/make.conf</filename>
-	eingetragen, oder können an <command>make</command> übergeben
-	werden.  Das folgende Beispiel setzt eine Variable, die
-	verhindert, dass die <quote>profiled</quote> Bibliotheken
-	gebaut werden:</para>
+      <screen xml:id="synching">&prompt.root; <userinput>svn update /usr/src</userinput></screen>
 
-      <screen>&prompt.root; <userinput>make -DNO_PROFILE <replaceable>target</replaceable></userinput></screen>
+      <para>Dieser Vorgang kann einige Zeit in Anspruch nehmen, falls
+	das Verzeichnis nicht zuletzt aktualisiert wurde.  Nach
+	Beendigung ist der Quellcode aktuell und der im nächsten
+	Abschnitt beschriebene Bauprozess kann beginnen.</para>
 
-      <para>Dieser Aufruf entspricht dem folgenden Eintrag in
-	<filename>/etc/make.conf</filename>:</para>
+      <note xml:id="updating-src-obtaining-src-checkout">
+	<title>Beschaffung des Quellcodes</title>
 
-      <programlisting>NO_PROFILE=    true     #    Avoid compiling profiled libraries</programlisting>
+	<para>Meldet die Ausgabe
+	  <literal>'/usr/src' is not a working copy</literal>, dann
+	  fehlen entweder Dateien, oder das Verzeichnis wurde mit
+	  einer anderen Methode aktualisiert.  Ein erneuter Checkout
+	  der Quellen ist jetzt erforderlich.</para>
 
-      <para>Das <quote>Ziel</quote> sagt <command>make</command>
-	was zu tun ist und das <filename>Makefile</filename>
-	definiert die verfügbaren Ziele.  Einige Ziele werden
-	verwendet, um den Bauprozess in eine Reihe von
-	Einzelschritten zu unterteilen.</para>
+	<table xml:id="updating-src-obtaining-src-repopath">
+	  <title>&os; Versionen und Repository-Pfade</title>
 
-      <para>Über separate Optionen zu verfügen, ist aus mehreren
-	Gründen nützlich.  Erstens erlaubt dies einen Bauprozess,
-	der die Komponenten des laufenden Systems nicht
-	beeinträchtigt.  Deswegen können Sie
-	<command>buildworld</command> gefahrlos im Mehrbenutzermodus
-	laufen lassen.  Die Installation mit
-	<buildtarget>installworld</buildtarget> sollte aber immer
-	noch im Single-User-Modus erfolgen.</para>
+	  <tgroup cols="3">
+	    <thead>
+	      <row>
+		<entry>Ausgabe von <command>uname -r</command></entry>
+		<entry>Repository-Pfad</entry>
+		<entry>Beschreibung</entry>
+	      </row>
+	    </thead>
 
-      <para>Zweitens kann, wie in <xref linkend="small-lan"/>
-	beschrieeben, <acronym>NFS</acronym> benutzt werden, um
-	mehrere Maschinen in einem Netzwerk zu aktualisieren.</para>
+	    <tbody>
+	      <row>
+		<entry><literal><replaceable>X.Y</replaceable>-RELEASE</literal></entry>
+		<entry><literal>base/releng/</literal><replaceable>X</replaceable></entry>
+		<entry>Die Release-Version inklusive kritischer
+		  Sicherheits- und Bugfix-Patches.  Dieser Zweig wird
+		  für die meisten Benutzer empfohlen.</entry>
+	      </row>
 
-      <para>Mit <option>-j</option> können Sie
-	<command>make</command> anweisen, mehrere Prozesse zu
-	starten.  Da der Übersetzungsprozess
-	hauptsächlich von <acronym>I/O</acronym> statt der
-	<acronym>CPU</acronym> bestimmt wird, ist diese Option für
-	Einprozessor- und Mehrprozessor-Systeme nützlich.</para>
+	      <row>
+		<entry><literal><replaceable>X.Y</replaceable>-STABLE</literal></entry>
+		<entry><literal>base/stable/</literal><replaceable>X</replaceable></entry>
+		<entry>
+		  <para>Die Release-Version und alle weitere Versionen
+		    auf diesem Zweig.
+		    <emphasis>STABLE</emphasis> bezieht sich darauf,
+		    dass die Binärschnittstelle
+		    (<acronym>ABI</acronym>) sich nicht ändert, sodass
+		    Anwendungen welche auf älteren Versionen erstellt
+		    wurden weiterhin lauffähig sind.  Eine Anwendung,
+		    welche für &os;&nbsp;10.1 übersetzt wurde, läuft
+		    auch auf &os;&nbsp;10-STABLE.</para>
 
-      <para>Auf einem typischen Einprozessor-System können Sie den
-	folgenden Befehl eingeben, um bis zu vier Prozesse
-	gleichzeitig laufen zu lassen.  Erfahrungsberichte aus den
-	Mailinglisten zeigen, dass dieser Aufruf typischerweise den
-	besten Geschwindigkeitsgewinn bringt:</para>
+		  <para>STABLE-Zweige haben gelegentlich Fehler und
+		    Inkompatibilitäten, welche den Benutzer
+		    beeinträchtigen könnten.  In der Regel werden
+		    diese Fehler aber zügig behoben.</para>
+		</entry>
+	      </row>
 
-      <screen>&prompt.root; <userinput>make -j4 buildworld</userinput></screen>
+	      <row>
+		<entry><literal><replaceable>X</replaceable>-CURRENT</literal></entry>
+		<entry><literal>base/head/</literal></entry>
+		<entry>Die neueste unveröffentlichte Version von
+		  &os;.  Der CURRENT-Zweig kann viele Fehler und
+		  Inkompatibilitäten enthalten und wird daher nur für
+		  fortgeschrittene Benutzer empfohlen.</entry>
+	      </row>
+	    </tbody>
+	  </tgroup>
+	</table>
 
-      <para>Wenn Sie ein Mehrprozessor-System besitzen, probieren
-	Sie Werte zwischen <literal>6</literal> und
-	<literal>10</literal> aus.</para>
+	<para>Ermitteln Sie mit &man.uname.1; die verwendete
+	  &os;-Version:</para>
 
-      <indexterm>
-	<primary>Bau des Basissystems</primary>
-	<secondary>Laufzeiten</secondary>
-      </indexterm>
+	<screen>&prompt.root; <userinput>uname -r</userinput>
+10.3-RELEASE</screen>
 
-      <note>
-	<para>Wenn mit <command>make buildworld</command> Variablen
-	  verwendet werden, müssen dieselben Variablen auch bei
-	  <command>make installworld</command> angegeben werden.
-	  Allerdings darf <option>-j</option> zusammen mit
-	  <buildtarget>installworld</buildtarget>
-	  <emphasis>nicht</emphasis> benutzt werden.</para>
+	<para>Basierend auf <xref
+	    linkend="updating-src-obtaining-src-repopath"/> ist
+	  <literal>base/releng/10</literal> der Repository-Pfad zur
+	  Aktualisierung von <literal>10.3-RELEASE</literal>.  Dieser
+	  Pfad wird beim Auschecken der Quellen benutzt:</para>
 
-	<para>Haben Sie zum Bauen die folgende Kommandozeile
-	  verwendet:</para>
+	<screen>&prompt.root; <userinput>mv /usr/src /usr/src.bak</userinput>  <co xml:id="updating-src-obtaining-src-mv"/>
+&prompt.root; <userinput>svn checkout https://svn.freebsd.org/base/<replaceable>releng/10.3</replaceable>; /usr/src</userinput>  <co xml:id="updating-src-obtaining-src-checkout-cmd"/></screen>
 
-	<screen>&prompt.root; <userinput>make -DNO_PROFILE buildworld</userinput></screen>
+	<calloutlist>
+	  <callout arearefs="updating-src-obtaining-src-mv">
+	    <para>Verschiebt das alte Verzeichnis.  Wenn es keine
+	      lokalen Änderungen in diesem Verzeichnis gibt, kann es
+	      gelöscht werden.</para>
+	  </callout>
 
-	<para>dann installieren Sie das Ergebnis mit:</para>
-
-	<screen>&prompt.root; <userinput>make -DNO_PROFILE installworld</userinput></screen>
-
-	<para>Andernfalls würde das System bei der Installation
-	  versuchen, die <quote>profiled</quote> Bibliotheken, die
-	  aber gar nicht gebaut wurden, zu installieren.</para>
+	  <callout arearefs="updating-src-obtaining-src-checkout-cmd">
+	    <para>Der Pfad aus <xref
+		linkend="updating-src-obtaining-src-repopath"/> wird
+	      der Repository-URL hinzugefügt.  Der dritte Parameter
+	      ist das lokale Zielverzeichnis für den Quellcode.</para>
+	  </callout>
+	</calloutlist>
       </note>
     </sect2>
 
-    <sect2 xml:id="mergemaster">
-      <info>
-	<title>Abgleich der Konfigurationsdateien</title>
+    <sect2 xml:id="updating-src-building">
+      <title>Den Quellcode bauen</title>
 
-	<authorgroup>
-	  <author>
-	    <personname>
-	      <firstname>Tom</firstname>
-	      <surname>Rhodes</surname>
-	    </personname>
-	    <contrib>Beigetragen von </contrib>
-	  </author>
-	</authorgroup>
-      </info>
+      <para xml:id="makeworld">Die Welt, also das gesamte
+	Basissystem mit Ausnahme des Kernels, wird zuerst
+	übersetzt, um aktuelle Werkzeuge zum Erstellen des
+	Kernels bereitzustellen.  Anschließend wird der
+	Kernel gebaut:</para>
 
-      <indexterm><primary><command>mergemaster</command></primary></indexterm>
+      <screen>&prompt.root; <userinput>cd /usr/src</userinput>
+&prompt.root; <userinput>make buildworld</userinput>
+&prompt.root; <userinput>make buildkernel</userinput></screen>
 
-      <para>&os; enthält das &man.mergemaster.8; Bourne-Shell
-	Skript, welches dabei behilflich ist die Unterschiede zwischen
-	den Konfigurationsdateien in <filename>/etc</filename> und
-	denen unter <filename>/usr/src/etc</filename> zu finden.
-	Dies ist der empfohlene Weg, die Systemkonfiguration mit dem
-	Quellbaum abzugleichen.</para>
+      <para>Das Ergebnis wird in <filename>/usr/obj</filename>
+	abgelegt.</para>
 
-      <para>Es ist ratsam, zuerst das bestehende
-	<filename>/etc</filename> an einen sicheren Ort zu
-	kopieren.  Mit <option>-R</option> wird rekursiv kopiert und
-	<option>-p</option> erhält die Zugriffszeiten und Eigentümer
-	der Dateien:</para>
+      <para>Dies sind die grundlegenden Schritte.  Weitere Optionen
+	zur Kontrolle des Bauprozesses sind nachfolgend
+	beschrieben.</para>
 
-      <screen>&prompt.root; <userinput>cp -Rp /etc /etc.old</userinput></screen>
+      <sect3 xml:id="updating-src-building-clean-build">
+	<title>Umgebung für den Bauprozess säubern</title>
 
-      <para>Beim Aufruf wird <command>mergemaster</command>
-	ausgehend von <filename>/</filename> einen virtuellen
-	Root-Baum aufbauen und darin die neuen Konfigurationsdateien
-	ablegen.
-	Diese Dateien werden dann mit den auf dem System
-	installierten Dateien verglichen.  Unterschiede zwischen den
-	Dateien werden im &man.diff.1;-Format dargestellt.  Neue
-	oder geänderte Zeilen werden mit <option>+</option>
-	gekennzeichnet.  Zeilen die gelöscht oder ersetzt werden,
-	sind mit <option>-</option> gekennzeichnet.  Das
-	Anzeigeformat wird in &man.diff.1; genauer erklärt.</para>
+	<para>Einige Versionen von &os; hinterlassen bereits
+	  übersetzten Code im temporären Objektverzeichnis
+	  <filename>/usr/obj</filename>.  Dies kann nachfolgende
+	  Bauprozesse beschleunigen, da Code, der nicht verändert
+	  wurde, nicht neu übersetzt werden muss.  Um eine saubere
+	  Umgebung für den Bauprozess zu schaffen, entfernen Sie
+	  <filename>/usr/obj</filename> bevor Sie mit dem Bau
+	  beginnen.  Dies ist dasselbe wie
+	  <command>make clean</command>, nur sehr viel
+	  schneller:</para>
 
-      <para>Als nächstes zeigt <command>mergemaster</command> jede
-	geänderte Datei an und Sie haben die Wahl, die neue Datei
-	(auch temporäre Datei genannt) zu löschen, sie unverändert
-	zu installieren, den Inhalt der neuen Datei mit dem Inhalt
-	der alten Datei abzugleichen, oder die Ausgabe noch einmal
-	zu sehen.</para>
+	<screen>&prompt.root; <userinput>rm -rf /usr/obj/*</userinput></screen>
+      </sect3>
 
-      <para>Wenn Sie die temporäre Datei löschen, geht
-	<command>mergemaster</command> davon aus, dass Sie die
-	aktuelle Datei unverändert behalten möchten.  Die Auswahl
-	dieser Option wird nicht empfohlen.  Durch die Eingabe von
-	<keycap>?</keycap> können Sie jederzeit die Hilfe am Prompt
-	von <command>mergemaster</command> aufrufen.  Wenn Sie eine
-	Datei überspringen, wird <command>mergemaster</command>
-	diese am Ende erneut präsentieren.</para>
+      <sect3 xml:id="updating-src-building-jobs">
+	<title>Anzahl der Prozesse einstellen</title>
 
-      <para>Wenn Sie die temporäre Datei installieren, wird die
-	aktuelle Datei mit der neuen Datei überschrieben.  Sie
-	sollten alle unveränderten Konfigurationsdateien auf diese
-	Weise aktualisieren.</para>
+	<para>Eine höhere Anzahl an Prozessen kann die
+	  Geschwindigkeit auf Mehrprozessor-Systemen verbessern.
+	  Die Anzahl der Kerne lässt sich mit
+	  <command>sysctl hw.cpu</command> bestimmen.  Prozessoren
+	  variieren ebenso, wie die verschiedenen Build-Systeme von
+	  &os;.  Sie müssen daher mehrere Versuche starten um zu
+	  sehen, wie die Anzahl der Prozesse die Geschwindigkeit
+	  beeinflusst.  Als Ausgangspunkt können Sie die halbe bis
+	  doppelte Anzahl der Kerne als Wert probieren.  Die Anzahl
+	  der Prozesse wird mit <option>-j</option> angegeben.</para>
 
-      <para>Wenn Sie sich entschließen den Inhalt beider Dateien
-	abzugleichen, wird ein Texteditor aufgerufen, in dem Sie
-	beide Dateien nebeneinander betrachten können.  Mit der
-	Taste <keycap>l</keycap> übernehmen Sie die aktuelle Zeile
-	der links dargestellten Datei, mit der Taste
-	<keycap>r</keycap> übernehmen Sie die Zeile der rechts
-	dargestellten Datei.  Das Ergebnis ist eine Datei, die aus
-	Teilen der beiden ursprünglichen Dateien besteht und
-	installiert werden kann.  Dieses Verfahren wird gewöhnlich
-	bei veränderten Dateien genutzt.</para>
+	<example xml:id="updating-src-building-jobs-example">
+	  <title>Die Anzahl der Prozesse erhöhen</title>
 
-      <para>Haben Sie sich entschieden die Differenzen noch einmal
-	anzuzeigen, werden nochmals die Unterschiede in beiden
-	Dateien angezeigt.</para>
+	  <para>Das Basissystem und den Kernel mit vier Prozessen
+	    bauen:</para>
 
-      <para>Wenn <command>mergemaster</command> alle Systemdateien
-	abgearbeitet hat, werden weitere Optionen abgefragt.  Sie
-	werden unter Umständen gefragt, ob die Passwort-Datei neu
-	gebaut werden soll.  Am Ende haben Sie die Möglichkeit, die
-	restlichen temporären Dateien zu löschen.</para>
+	  <screen>&prompt.root; <userinput>make -j4 buildworld buildkernel</userinput></screen>
+	</example>
+      </sect3>
 
-	<!--
-	<para>Wenn Sie den Abgleich lieber selbst ausführen wollen,
-	  beachten Sie bitte, dass Sie nicht einfach die Dateien aus
-	  <filename>/usr/src/etc</filename> nach <filename>/etc</filename>
-	  kopieren können.  Einige dieser Dateien müssen zuerst
-	  <emphasis>installiert</emphasis> werden, bevor sie benutzt werden
-	  können.  Das liegt daran, dass
-	  <filename>/usr/src/etc</filename> keine exakte Kopie von
-	  <filename>/etc</filename> ist.  Zudem gibt es Dateien, die sich
-	  in <filename>/etc</filename> befinden aber nicht in
-	  <filename>/usr/src/etc</filename>.</para>
+      <sect3 xml:id="updating-src-building-only-kernel">
+	<title>Nur den Kernel erstellen</title>
 
-	<para>Am einfachsten ist es, wenn Sie die neuen Dateien in ein
-	  temporäres Verzeichnis installieren und sie nacheinander auf
-	  Differenzen zu den bestehenden Dateien durchsehen.</para>
+	<para>Wenn sich der Quellcode verändert hat, muss ein
+	  <buildtarget>buildworld</buildtarget> ausgeführt
+	  werden.  Danach kann der Kernel mit
+	  <buildtarget>buildkernel</buildtarget> übersetzt
+	  werden.  Um lediglich den Kernel zu übersetzen:</para>
 
-	<warning>
-	  <title>Sichern Sie die Inhalte von <filename>/etc</filename></title>
+	<screen>&prompt.root; <userinput>cd /usr/src</userinput>
+&prompt.root; <userinput>make buildkernel</userinput></screen>
+      </sect3>
 
-	  <para>Es wird empfohlen, zuerst das bestehende
-	    <filename>/etc</filename> an einen sicheren Ort zu
-	    kopieren:</para>
+      <sect3 xml:id="updating-src-building-custom-kernel">
+	<title>Einen angepassten Kernel erstellen</title>
 
-	    <screen>&prompt.root; <userinput>cp -Rp /etc /etc.old</userinput></screen>
+	<para>Der &os; Standard-Kernel basiert auf einer
+	  <emphasis>Konfigurationsdatei</emphasis> namens
+	  <filename>GENERIC</filename>.  Der
+	  <filename>GENERIC</filename>-Kernel enthält die
+	  gängigsten Gerätetreiber und Optionen.  Manchmal ist es
+	  aber sinnvoll oder gar notwendig, einen angepassten
+	  Kernel zu erstellen, um Gerätetreiber oder Optionen

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201706102142.v5ALgKNu094675>