Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Mar 2014 22:40:58 +0000 (UTC)
From:      Dru Lavigne <dru@FreeBSD.org>
To:        doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org
Subject:   svn commit: r44123 - head/en_US.ISO8859-1/books/handbook/advanced-networking
Message-ID:  <201403042240.s24MewvZ051545@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dru
Date: Tue Mar  4 22:40:57 2014
New Revision: 44123
URL: http://svnweb.freebsd.org/changeset/doc/44123

Log:
  Start to merge content.
  Many more commits needed to get this into a logical flow.
  
  Sponsored by: iXsystems

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

Modified: head/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml	Tue Mar  4 20:54:36 2014	(r44122)
+++ head/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml	Tue Mar  4 22:40:57 2014	(r44123)
@@ -3862,24 +3862,34 @@ ifconfig_<literal>lagg0</literal>="laggp
       is relatively easy to set up because all the necessary elements
       are readily available:</para>
 
+    <itemizedlist>
+      <listitem>
     <para>The &intel; Preboot eXecution Environment
       (<acronym>PXE</acronym>) can be used to load the kernel over
       the network.  It provides a form of smart boot
       <acronym>ROM</acronym> built into some networking cards or
       motherboards.  See &man.pxeboot.8; for more details.</para>
+    </listitem>
 
+	<listitem>
     <para>A sample script
       (<filename>/usr/share/examples/diskless/clone_root</filename>)
       eases the creation and maintenance of the workstation's root
       file system on the server.  The script will probably require
       a little customization.</para>
+    </listitem>
 
+	<listitem>
     <para>Standard system startup files exist in
       <filename>/etc</filename> to detect and support a diskless
       system startup.</para>
+    </listitem>
 
+	<listitem>
     <para>Swapping, if needed, can be done either to an
       <acronym>NFS</acronym> file or to a local disk.</para>
+    </listitem>
+</itemizedlist>
 
     <para>There are many ways to set up diskless workstations.  Many
       elements are involved, and most can be customized to suit local
@@ -3893,12 +3903,16 @@ ifconfig_<literal>lagg0</literal>="laggp
 	<para>The diskless workstations use a shared, read-only
 	  <filename>/</filename> and
 	  <filename>/usr</filename>.</para>
+	</listitem>
 
+      <listitem>
 	<para>The root file system is a copy of a standard &os; root,
 	  with some configuration files overridden by ones specific to
 	  diskless operation or, possibly, to the workstation they
 	  belong to.</para>
+	</listitem>
 
+      <listitem>
 	<para>The parts of the root which have to be writable are
 	  overlaid with &man.md.4; file systems.  Any changes will be
 	  lost when the system reboots.</para>
@@ -3914,28 +3928,8 @@ ifconfig_<literal>lagg0</literal>="laggp
     <sect2>
       <title>Background Information</title>
 
-      <para>Setting up diskless workstations is both relatively
-	straightforward and prone to errors.  These are sometimes
-	difficult to diagnose for a number of reasons.  For
-	example:</para>
-
-      <itemizedlist>
-	<listitem>
-	  <para>Compile time options may determine different behaviors
-	    at runtime.</para>
-	</listitem>
-
-	<listitem>
-	  <para>Error messages are often cryptic or totally
-	    absent.</para>
-	</listitem>
-      </itemizedlist>
-
-      <para>In this context, having some knowledge of the background
-	mechanisms involved is useful to solve the problems that may
-	arise.</para>
-
-      <para>Several operations need to be performed for a successful
+      <para>When setting up diskless workstations, several operations
+	need to be performed for a successful
 	bootstrap:</para>
 
       <itemizedlist>
@@ -3950,9 +3944,7 @@ ifconfig_<literal>lagg0</literal>="laggp
 	    configure a system to use only <acronym>BOOTP</acronym>
 	    and &man.bootpd.8; is included in the base &os;
 	    system.</para>
-	</listitem>
 
-	<listitem>
 	  <para><acronym>DHCP</acronym> has a number of advantages
 	    over <acronym>BOOTP</acronym> such as nicer configuration
 	    files and support for <acronym>PXE</acronym>.  This
@@ -3964,16 +3956,13 @@ ifconfig_<literal>lagg0</literal>="laggp
 	</listitem>
 
 	<listitem>
-	  <para>The machine needs to transfer one or several programs
-	    to local memory.  Either <acronym>TFTP</acronym> or
-	    <acronym>NFS</acronym> are used.  The choice between
-	    <acronym>TFTP</acronym> and <acronym>NFS</acronym> is a
-	    compile time option in several places.  A common source of
-	    error is to specify filenames for the wrong protocol.
-	    <acronym>TFTP</acronym> typically transfers all files from
-	    a single directory on the server and expects filenames
-	    relative to this directory.  <acronym>NFS</acronym> needs
-	    absolute file paths.</para>
+	  <para>The machine needs to boot the loader using
+	    <acronym>TFTP</acronym>.</para>
+	  </listitem>
+
+	  <listitem>
+	    <para>The root filesystem needs to be loaded using
+	    <acronym>NFS</acronym>.</para>
 	</listitem>
 
 	<listitem>
@@ -3997,15 +3986,21 @@ ifconfig_<literal>lagg0</literal>="laggp
       <para>Refer to &man.diskless.8; for more information.</para>
     </sect2>
 
-    <sect2>
-	<title>Configuration Using <application>ISC
-	    DHCP</application></title>
+    <sect2 xml:id="network-pxe-setting-up-dhcp">
+	<title>Configuring the <application>ISC
+	    DHCP</application> Server</title>
 
 	<indexterm>
 	  <primary>DHCP</primary>
 	  <secondary>diskless operation</secondary>
 	</indexterm>
 
+	<para><acronym>PXE</acronym> requires a <acronym>TFTP</acronym>
+	and a <acronym>DHCP</acronym> server to be set up.  The
+	<acronym>DHCP</acronym> server does not need to be the same
+	machine as the <acronym>TFTP</acronym> server, but it needs
+	to be accessible in the network.</para>
+
 	<para>The <application>ISC DHCP</application> server can
 	  answer both <acronym>BOOTP</acronym> and
 	  <acronym>DHCP</acronym> requests.</para>
@@ -4013,56 +4008,62 @@ ifconfig_<literal>lagg0</literal>="laggp
 	<para><application>ISC DHCP</application> is not part of the
 	  base system.  Install the
 	  <package>net/isc-dhcp42-server</package> port or
-	  package.</para>
+	  package, following the instructions documented at <xref
+	      linkend="network-dhcp-server"/>.  Make sure that
+	    <filename>/etc/rc.conf</filename> and
+	    <filename>/usr/local/etc/dhcpd.conf</filename> are
+	    correctly configured..</para>
 
 	<para>Once <application>ISC DHCP</application> is installed,
 	  edit its configuration file,
-	  <filename>/usr/local/etc/dhcpd.conf</filename>.  Here
-	  follows a commented example for <acronym>PXE</acronym> host
-	  <systemitem>corbieres</systemitem>:</para>
-
-	<programlisting>default-lease-time 600;
-max-lease-time 7200;
-authoritative;
-
-option domain-name "example.com";
-option domain-name-servers 192.168.4.1;
-option routers 192.168.4.1;
-
-subnet 192.168.4.0 netmask 255.255.255.0 {
-  use-host-decl-names on; <co xml:id="co-dhcp-host-name"/>
-  option subnet-mask 255.255.255.0;
-  option broadcast-address 192.168.4.255;
-
-  host corbieres {
-    hardware ethernet 00:02:b3:27:62:df;
-    fixed-address corbieres.example.com;
-    next-server 192.168.4.4; <co xml:id="co-dhcp-next-server"/>
-    filename "pxeboot"; <co xml:id="co-dhcp-filename"/>
-    option root-path "192.168.4.4:/data/misc/diskless"; <co xml:id="co-dhcp-root-path"/>
-  }
+	  <filename>/usr/local/etc/dhcpd.conf</filename>.  Configure
+	  the <literal>next-server</literal>,
+	    <literal>filename</literal>, and
+	    <literal>option root-path</literal> settings to specify
+	    the <acronym>TFTP</acronym> server <acronym>IP</acronym>
+	    address, the path to <filename>/boot/pxeboot</filename>
+	    in <acronym>TFTP</acronym>, and the path to the
+	    <acronym>NFS</acronym> root file system.  Here is a sample
+	    <filename>dhcpd.conf</filename> setup:</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-servers 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>
 
-	<calloutlist>
-	  <callout arearefs="co-dhcp-host-name">
+ <!--
+ This option still needed?
+ host corbieres {
 	    <para>This option tells <application>dhcpd</application>
 	      to send the value in the <literal>host</literal>
 	      declarations as the hostname for the diskless host.
 	      An alternate way would be to add an <literal>option
 	      host-name corbieres</literal>
 	      inside the <literal>host</literal> declarations.</para>
-	  </callout>
+	      -->
 
-	  <callout arearefs="co-dhcp-next-server">
 	    <para>The <literal>next-server</literal> directive
 	      designates the <acronym>TFTP</acronym> or
 	      <acronym>NFS</acronym> server to use for loading
 	      &man.loader.8; or the kernel file.  The default is to
 	      use the same host as the <acronym>DHCP</acronym>
 	      server.</para>
-	  </callout>
 
-	  <callout arearefs="co-dhcp-filename">
 	    <para>The <literal>filename</literal> directive defines
 	      the file that <acronym>PXE</acronym> will load for the
 	      next execution step.  It must be specified according
@@ -4078,9 +4079,7 @@ subnet 192.168.4.0 netmask 255.255.255.0
 	      <filename>GENERIC</filename> kernel, it is possible to
 	      use <acronym>PXE</acronym> to boot from a remote
 	      CD-ROM.</para>
-	  </callout>
 
-	  <callout arearefs="co-dhcp-root-path">
 	    <para>The <literal>root-path</literal> option defines
 	      the path to the root file system, in usual
 	      <acronym>NFS</acronym> notation.  When using
@@ -4089,27 +4088,40 @@ subnet 192.168.4.0 netmask 255.255.255.0
 	      <acronym>BOOTP</acronym> kernel option is not enabled.
 	      The <acronym>NFS</acronym> server will then be the
 	      same as the <acronym>TFTP</acronym> one.</para>
-	  </callout>
-	</calloutlist>
       </sect2>
 
       <sect2>
-	<title>Configuring the <acronym>TFTP</acronym> and
-	  <acronym>NFS</acronym> Servers</title>
+	<title>Configuring the
+	  <acronym>NFS</acronym> Server</title>
 
-	<para>By default, &man.pxeboot.8; loads the kernel via
-	  <acronym>NFS</acronym>.  It can be compiled to use
-	  <acronym>TFTP</acronym> instead by specifying the
-	  <literal>LOADER_TFTP_SUPPORT</literal> option in
-	  <filename>/etc/make.conf</filename>.  See the comments in
-	  <filename>/usr/share/examples/etc/make.conf</filename> for
-	  instructions.</para>
-
-	<para>There are two other <filename>make.conf</filename>
-	  options which may be useful for setting up a serial console
-	  diskless machine:
-	  <literal>BOOT_PXELDR_PROBE_KEYBOARD</literal>, and
-	  <literal>BOOT_PXELDR_ALWAYS_SERIAL</literal>.</para>
+	<para>Enable
+	  <acronym>NFS</acronym> and export the appropriate file
+	  system on the <acronym>NFS</acronym> server.</para>
+
+	    <para>Add this line to
+	      <filename>/etc/rc.conf</filename>:</para>
+
+	    <programlisting>nfs_server_enable="YES"</programlisting>
+
+	    <para>Export the file system where the diskless root
+	      directory is located by adding the following to
+	      <filename>/etc/exports</filename>.  Adjust the
+	      mount point and replace <replaceable>
+		corbieres</replaceable> with the names of the diskless
+	      workstations:</para>
+
+	    <programlisting><replaceable>/data/misc</replaceable> -alldirs -ro <replaceable>margaux corbieres</replaceable></programlisting>
+
+	    <para>Tell &man.mountd.8; to reread its configuration
+	      file.  If <acronym>NFS</acronym> is enabled in
+	      <filename>/etc/rc.conf</filename>, it is recommended
+	      to reboot instead.</para>
+
+	    <screen>&prompt.root; <userinput>service mountd restart</userinput></screen>
+	  </sect2>
+
+	<sect2>
+	  <title>Configuring the <acronym>TFTP</acronym> Server</title>
 
 	<para>To use <acronym>PXE</acronym> when the machine starts,
 	  select the <literal>Boot from network</literal> option in
@@ -4125,9 +4137,7 @@ subnet 192.168.4.0 netmask 255.255.255.0
 	  <secondary>diskless operation</secondary>
 	</indexterm>
 
-	<para>If <acronym>PXE</acronym> is configured to use
-	  <acronym>TFTP</acronym>, enable &man.tftpd.8; on the file
-	  server:</para>
+	<para>To enable &man.tftpd.8;, perform the following steps:</para>
 
 	<procedure>
 	  <step>
@@ -4166,40 +4176,7 @@ subnet 192.168.4.0 netmask 255.255.255.0
 	  anywhere on the server.  Make sure that the location is
 	  set in both <filename>/etc/inetd.conf</filename> and
 	  <filename>/usr/local/etc/dhcpd.conf</filename>.</para>
-
-	<para>Enable
-	  <acronym>NFS</acronym> and export the appropriate file
-	  system on the <acronym>NFS</acronym> server.</para>
-
-	<procedure>
-	  <step>
-	    <para>Add this line to
-	      <filename>/etc/rc.conf</filename>:</para>
-
-	    <programlisting>nfs_server_enable="YES"</programlisting>
-	  </step>
-
-	  <step>
-	    <para>Export the file system where the diskless root
-	      directory is located by adding the following to
-	      <filename>/etc/exports</filename>.  Adjust the
-	      mount point and replace <replaceable>
-		corbieres</replaceable> with the names of the diskless
-	      workstations:</para>
-
-	    <programlisting><replaceable>/data/misc</replaceable> -alldirs -ro <replaceable>margaux corbieres</replaceable></programlisting>
-	  </step>
-
-	  <step>
-	    <para>Tell &man.mountd.8; to reread its configuration
-	      file.  If <acronym>NFS</acronym> is enabled in
-	      <filename>/etc/rc.conf</filename>, it is recommended
-	      to reboot instead.</para>
-
-	    <screen>&prompt.root; <userinput>service mountd restart</userinput></screen>
-	  </step>
-	</procedure>
-      </sect2>
+	</sect2>
 
       <sect2>
 	<title>Preparing the Root File System</title>
@@ -4520,59 +4497,6 @@ myhost.example.com:/b/tftpboot/FreeBSD/i
 	them.</para>
     </sect2>
 
-    <sect2 xml:id="network-pxe-setting-up-dhcp">
-      <title>Setting up the <acronym>DHCP</acronym> Server</title>
-
-      <para><acronym>PXE</acronym> requires a <acronym>TFTP</acronym>
-	and a <acronym>DHCP</acronym> server to be set up.  The
-	<acronym>DHCP</acronym> server does not need to be the same
-	machine as the <acronym>TFTP</acronym> server, but it needs
-	to be accessible in the network.</para>
-
-      <procedure>
-	<step>
-	  <para>Install the <acronym>DHCP</acronym> server by
-	    following the instructions documented at <xref
-	      linkend="network-dhcp-server"/>.  Make sure that
-	    <filename>/etc/rc.conf</filename> and
-	    <filename>/usr/local/etc/dhcpd.conf</filename> are
-	    correctly configured.</para>
-	</step>
-
-	<step>
-	  <para>In <filename>/usr/local/etc/dhcpd.conf</filename>,
-	    configure the <literal>next-server</literal>,
-	    <literal>filename</literal>, and
-	    <literal>option root-path</literal> settings to specify
-	    the <acronym>TFTP</acronym> server <acronym>IP</acronym>
-	    address, the path to <filename>/boot/pxeboot</filename>
-	    in <acronym>TFTP</acronym>, and the path to the
-	    <acronym>NFS</acronym> root file system.  Here is a sample
-	    <filename>dhcpd.conf</filename> setup:</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-servers 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>Configuring the <acronym>PXE</acronym> Client and
 	Debugging Connection Problems</title>



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