Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Apr 2014 17:35:05 +0000 (UTC)
From:      Benedict Reuschling <bcr@FreeBSD.org>
To:        doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org
Subject:   svn commit: r44605 - head/de_DE.ISO8859-1/books/handbook/advanced-networking
Message-ID:  <201404181735.s3IHZ5ch063570@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bcr
Date: Fri Apr 18 17:35:05 2014
New Revision: 44605
URL: http://svnweb.freebsd.org/changeset/doc/44605

Log:
  Add missing section about PXE booting that didn't get noticed until now.
  A big thanks goes out to Bjoern who noticed it and did the work of translating the section.
  
  Submitted by:	Bjoern Heidotting
  Obtained from:	The FreeBSD German Documentation Project

Modified:
  head/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml

Modified: head/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml
==============================================================================
--- head/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml	Fri Apr 18 16:10:46 2014	(r44604)
+++ head/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml	Fri Apr 18 17:35:05 2014	(r44605)
@@ -50,6 +50,11 @@
       </listitem>
 
       <listitem>
+        <para>Wissen, wie man mithilfe von PXE über ein Netzwerk
+          bootet und ein NFS-Root-Dateisystem einrichtet.</para>
+      </listitem>
+
+      <listitem>
 	<para>Wissen, wie man NAT (Network Address Translation)
 	  einrichtet.</para>
       </listitem>
@@ -4810,6 +4815,340 @@ cd /usr/src/etc; make distribution</prog
     </sect2>
   </sect1>
 
+
+  <sect1 xml:id="network-pxe-nfs">
+    <info>
+    <title><acronym>PXE</acronym>-Boot mit einem
+      <acronym>NFS</acronym>-Root-Dateisystem</title>
+
+    <authorgroup>
+      <author>
+        <personname>
+          <firstname>Craig</firstname>
+          <surname>Rodrigues</surname>
+        </personname>
+        <affiliation>
+            <address>rodrigc@FreeBSD.org</address>
+        </affiliation>
+        <contrib>Beigetragen von </contrib>
+      </author>
+    </authorgroup>
+    </info>
+
+    <para>Das &intel; Preboot eXecution Environment
+      (<acronym>PXE</acronym>) erlaubt es, ein Betriebssystem über das
+      Netzwerk zu starten.  <acronym>PXE</acronym>-Unterstützung wird
+      von modernen Mainboards über das <acronym>BIOS</acronym>
+      bereitgestellt, wo Sie es bei den Einstellungen zum Starten über
+      das Netzwerk aktivieren können.  Ein voll funktionsfähiges
+      <acronym>PXE</acronym>-Setup erfordert zusätzlich einen richtig
+      konfigurierten <acronym>DHCP</acronym>- und
+      <acronym>TFTP</acronym>-Server.</para>
+
+    <para>Sobald das Gastsystem startet, erhält es vom
+      <acronym>DHCP</acronym>-Server Informationen, wo der initiale
+      Bootloader per <acronym>TFTP</acronym> zu bekommen ist.  Nachdem
+      das Gastsystem diese Informationen erhält, lädt es den
+      Bootloader über <acronym>TFTP</acronym> herunter und führt
+      diesen anschließend aus.  Dieses Verfahren ist in Sektion 2.2.1
+      der <link
+	xlink:href="http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf">Preboot
+	Execution Environment (PXE) Specification</link> dokumentiert.
+      In &os; ist <filename>/boot/pxeboot</filename> der Bootloader,
+      der während des <acronym>PXE</acronym>-Vorgangs abgerufen wird.
+      Nachdem <filename>/boot/pxeboot</filename> ausgeführt und der
+      &os;-Kernel geladen wurde, wird mit dem Rest der
+      &os;-Bootsequenz fortgefahren.  Weitere Informationen über den
+      Bootvorgang unter &os; finden Sie in <xref
+	linkend="boot"/>.</para>
+
+    <sect2>
+      <title>Einrichtung der <command>chroot</command>-Umgebung für
+	das NFS-Root-Dateisystem</title>
+
+        <procedure>
+          <step>
+	    <para>Wählen Sie ein Verzeichnis welches eine
+	      &os;-Installation enthält und über NFS eingehangen
+	      werden kann.  Als Beispiel kann das Verzeichnis
+	      <filename>/b/tftpboot/FreeBSD/install</filename>
+	      verwendet werden.</para>
+
+            <screen>&prompt.root; <userinput>export NFSROOTDIR=/b/tftpboot/FreeBSD/install</userinput>
+&prompt.root; <userinput>mkdir -p ${NFSROOTDIR}</userinput></screen>
+          </step>
+
+          <step>
+	    <para>Aktivieren Sie den NFS-Server.  Diese Prozedur wird
+	      im Kapitel <xref linkend="network-configuring-nfs"/>
+	      beschrieben.</para>
+
+	    <para>Exportieren Sie das eben erstellte Verzeichnis über
+	      NFS, indem Sie folgende Zeile in
+	      <filename>/etc/exports</filename> hinzufügen:</para>
+
+            <programlisting>/b -ro -alldirs</programlisting>
+          </step>
+
+          <step>
+            <para>Starten Sie den NFS-Server neu:</para>
+
+            <screen>&prompt.root; <userinput>/etc/rc.d/nfsd restart</userinput></screen>
+          </step>
+
+          <step>
+	    <para>Aktivieren Sie &man.inetd.8; wie im Kapitel <xref
+		linkend="network-inetd-settings"/> beschrieben.</para>
+          </step>
+
+          <step>
+            <para>Fügen Sie folgende Zeilen in
+              <filename>/etc/inetd.conf</filename> hinzu:</para>
+
+            <programlisting>tftp dgram udp wait root /usr/libexec/tftp tftp -l -s /b/tftpboot</programlisting>
+          </step>
+
+          <step>
+            <para>Starten Sie inetd neu:</para>
+
+            <screen>&prompt.root; <userinput>/etc/rc.d/inetd restart</userinput></screen>
+          </step>
+
+          <step>
+	    <para><link linkend="makeworld">Erstellen Sie einen neues
+		Basissystem und einen &os;-Kernel</link>:</para>
+
+            <screen>&prompt.root; <userinput>cd /usr/src</userinput>
+&prompt.root; <userinput>make buildworld</userinput>
+&prompt.root; <userinput>make buildkernel</userinput></screen>
+          </step>
+
+          <step>
+            <para>Installieren sie &os; in das Verzeichnis, welches
+              über <acronym>NFS</acronym> eingehangen ist:</para>
+
+            <screen>
+&prompt.root; <userinput>make installworld DESTDIR=${NFSROOTDIR}</userinput>
+&prompt.root; <userinput>make installkernel DESTDIR=${NFSROOTDIR}</userinput>
+&prompt.root; <userinput>make distribution DESTDIR=${NFSROOTDIR}</userinput>
+            </screen>
+          </step>
+
+          <step>
+	    <para>Testen Sie den <acronym>TFTP</acronym>-Server und
+	      vergewissern Sie sich, dass Sie den Bootloader
+	      herunterladen können, der über <acronym>PXE</acronym>
+	      bereitgestellt wird:</para>
+
+            <screen>
+&prompt.root; <userinput>tftp localhost</userinput>
+tftp> <userinput>get FreeBSD/install/boot/pxeboot</userinput>
+Received 264951 bytes in 0.1 seconds
+            </screen>
+          </step>
+
+          <step>
+	    <para>Bearbeiten Sie
+	      <filename>${NFSROOTDIR}/etc/fstab</filename> und
+	      erstellen Sie einen Eintrag, um das Root-Dateisystem
+	      über <acronym>NFS</acronym> einzuhängen:</para>
+
+            <programlisting>
+# Device                                      Mountpoint    FSType    Options   Dump  Pass
+myhost.example.com:/b/tftpboot/FreeBSD/install    /         nfs       ro        0     0
+            </programlisting>
+
+	    <para>Ersetzen Sie
+	      <replaceable>myhost.example.com</replaceable> durch den
+	      Hostnamen oder die <acronym>IP</acronym>-Adresse Ihres
+	      <acronym>NFS</acronym>-Servers.  In diesem Beispiel wird
+	      das Root-Dateisystem schreibgeschützt eingehangen, um
+	      ein potenzielles Löschen des Inhalts durch die
+	      <acronym>NFS</acronym>-Clients zu verhindern.</para>
+          </step>
+
+          <step>
+	    <para>Setzen Sie das root-Passwort in der
+	      &man.chroot.8;-Umgebung:</para>
+
+            <screen>&prompt.root; <userinput>chroot ${NFSROOTDIR} </userinput>
+&prompt.root; <userinput>passwd</userinput></screen>
+
+	    <para>Damit setzen Sie das root-Passwort für die
+	      Client-Maschinen, welche über <acronym>PXE</acronym>
+	      starten.</para>
+          </step>
+
+          <step>
+	    <para>Aktivieren Sie &man.ssh.1; root-Logins für
+	      Client-Maschinen, die über <acronym>PXE</acronym>
+	      starten, indem Sie die Option
+	      <literal>PermitRootLogin</literal> in
+	      <filename>${NFSROOTDIR}/etc/ssh/sshd_config</filename>
+	      aktivieren. Dies ist in &man.sshd.config.5;
+	      dokumentiert.</para>
+          </step>
+
+          <step>
+	    <para>Führen Sie weitere Anpassungen der
+	      &man.chroot.8;-Umgebung in ${NFSROOTDIR} durch, wie zum
+	      Beispiel die Installation weiterer Pakete mittels
+	      &man.pkg.add.1;, dass Bearbeiten der Passwortdatei mit
+	      &man.vipw.8;, oder &man.amd.conf.5; für den Automounter.
+	      Ein Beispiel:</para>
+
+            <screen>
+&prompt.root; <userinput>chroot ${NFSROOTDIR}</userinput>
+&prompt.root; <userinput>pkg_add -r bash</userinput></screen>
+          </step>
+        </procedure>
+    </sect2>
+
+
+    <sect2>
+      <title>Speicher-Dateisysteme für
+        <filename>/etc/rc.initdiskless</filename></title>
+
+      <para>Booten Sie von einem <acronym>NFS</acronym>-Root-Volume,
+	so erkennt <filename>/etc/rc</filename> dies und startet
+	daraufhin das <filename>/etc/rc.initdiskless</filename>
+	Skript.  Lesen Sie die Kommentare in diesem Skript um zu
+	verstehen, was dort vor sich geht.  Weil das
+	<acronym>NFS</acronym>-Root-Verzeichnis schreibgeschützt ist,
+	wir aber Schreibzugriff für <filename>/etc</filename> und
+	<filename>/var</filename> benötigen, müssen wir diese
+	Verzeichnisse über Speicher-Dateisysteme (memory backed file
+	system) einbinden.</para>
+
+      <screen>
+&prompt.root; <userinput>chroot ${NFSROOTDIR}</userinput>
+&prompt.root; <userinput>mkdir -p conf/base</userinput>
+&prompt.root; <userinput>tar -c -v -f conf/base/etc.cpio.gz --format cpio
+--gzip etc</userinput>
+&prompt.root; <userinput>tar -c -v -f conf/base/var.cpio.gz --format cpio
+--gzip var</userinput></screen>
+
+      <para>Bei Starten werden die Speicher-Dateisysteme für
+	<filename>/etc</filename> und <filename>/var</filename>
+	erstellt und eingehangen und der Inhalt der
+	<filename>cpio.gz</filename>-Dateien in diese hinein
+	kopiert.</para>
+    </sect2>
+
+    <sect2>
+      <title>Einrichtung des DHCP-Servers</title>
+
+      <para><acronym>PXE</acronym> benötigt für die Einrichtung einen
+	<acronym>TFTP</acronym>-Server und einen
+	<acronym>DHCP</acronym>-Server.  Der
+	<acronym>DHCP</acronym>-Server muss nicht unbedingt auf der
+	gleichen Maschine laufen wie der
+	<acronym>TFTP</acronym>-Server, aber er muss in Ihrem Netzwerk
+	erreichbar sein.</para>
+
+      <procedure>
+        <step>
+	  <para>Installieren Sie den <acronym>DHCP</acronym>-Server,
+	    indem Sie den Anweisungen in <xref
+	      linkend="network-dhcp-server"/> folgen.  Stellen Sie
+	    sicher, dass <filename>/etc/rc.conf</filename> und
+	    <filename>/usr/local/etc/dhcpd.conf</filename> richtig
+	    konfiguriert sind.</para>
+        </step>
+
+        <step>
+	  <para>Konfigurieren Sie in
+	    <filename>/usr/local/etc/dhcpd.conf</filename> die
+	    <literal>next-server</literal>,
+	    <literal>filename</literal> und <literal>option
+	      root-path</literal> Einstellungen, um die
+	    <acronym>IP</acronym>-Adresse des
+	    <acronym>TFTP</acronym>-Servers, den Pfad zu
+	    <filename>/boot/pxeboot</filename> in
+	    <acronym>TFTP</acronym> und den Pfad zum
+	    <acronym>NFS</acronym>-Root-Dateisystem zu bestimmen.
+	    Hierzu ein Beispiel für
+	    <filename>/usr/local/etc/dhcpd.conf</filename>:</para>
+
+          <programlisting>
+subnet 192.168.0.0 netmask 255.255.255.0 {
+  range 192.168.0.2 192.168.0.3;
+  option subnet-mask 255.255.255.0;
+  option routers 192.168.0.1;
+  option broadcast-address 192.168.0.255;
+  option domain-name-server 192.168.35.35 192.168.35.36;
+  option domain-name "example.com";
+
+  # IP address of TFTP server
+  next-server 192.168.0.1;
+
+  # path of boot loader obtained
+  # via tftp
+  filename "FreeBSD/install/boot/pxeboot";
+
+  # pxeboot boot loader will try to NFS mount this directory for root FS
+  option root-path "192.168.0.1:/b/tftpboot/FreeBSD/install/";
+
+}
+          </programlisting>
+        </step>
+      </procedure>
+    </sect2>
+
+    <sect2>
+      <title>Konfiguration des <acronym>PXE</acronym>-Clients und
+	Fehlersuche bei Verbindungsproblemen</title>
+
+      <procedure>
+        <step>
+	  <para>Sobald die Client-Maschine startet, gehen Sie in die
+	    <acronym>BIOS</acronym>-Einstellungen und konfigurieren
+	    Sie den Start über das Netzwerk (boot from network).  Sind
+	    Ihre bisherigen Konfigurationsschritte korrekt, sollte
+	    alles funktionieren.</para>
+        </step>
+
+        <step>
+	  <para>Benutzen Sie den <filename
+	      role="package">net/wireshark</filename> Port zur
+	    Fehlersuche im Netzwerkverkehr von <acronym>DHCP</acronym>
+	    und <acronym>TFTP</acronym>.</para>
+        </step>
+
+        <step>
+	  <para>Stellen Sie sicher, dass Sie die
+	    <filename>pxeboot</filename>-Datei über
+	    <acronym>TFTP</acronym> herunterladen können.  Schauen Sie
+	    in <filename>/var/log/xferlog</filename> auf Ihrem
+	    <acronym>TFTP</acronym>-Server und vergewissern Sie sich,
+	    dass die <filename>pxeboot</filename>-Datei von der
+	    richtigen Adresse heruntergeladen wurde.  Um die obige
+	    Konfiguration von <filename>dhcpd.conf</filename> zu
+	    testen, geben Sie folgendes ein:</para>
+
+          <screen>&prompt.root; <userinput>tftp 192.168.0.1</userinput>
+tftp> <userinput>get FreeBSD/install/boot/pxeboot</userinput>
+Received 264951 bytes in 0.1 seconds</screen>
+
+	 <para>Weitere Informationen finden Sie in &man.tftpd.8; und
+	   &man.tftp.1;.  Die <literal>BUGS</literal>-Sektionen dieser
+	   Seiten dokumentieren einige Einschränkungen von
+	   <acronym>TFTP</acronym>.</para>
+        </step>
+
+        <step>
+	  <para>Achten Sie darauf, dass Sie das Root-Dateisystem über
+	    <acronym>NFS</acronym> einhängen können. Auch hier können
+	    Sie Ihre Einstellungen aus <filename>dhcpd.conf</filename>
+	    wie folgt testen:</para>
+
+          <screen>&prompt.root; <userinput>mount -t nfs 192.168.0.1:/b
+/tftpboot/FreeBSD/install /mnt</userinput></screen>
+        </step>
+      </procedure>
+    </sect2>
+  </sect1>
+
   <sect1 xml:id="network-isdn">
     <title>ISDN &ndash; diensteintegrierendes digitales Netzwerk</title>
 
@@ -6433,7 +6772,7 @@ route_hostD="192.168.173.4 hatm0 0 102 l
     <info><title>CARP - Common Address Redundancy Protocol</title>
       <authorgroup>
 	<author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Beigetragen von </contrib></author>
-        <author><personname><firstname>Allan</firstname><surname>Jude</surname></personname><contrib>Aktualisiert von</contrib></author>
+        <author><personname><firstname>Allan</firstname><surname>Jude</surname></personname><contrib>Aktualisiert von </contrib></author>
       </authorgroup>
     </info>
 



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