svn commit: r44732 - head/en_US.ISO8859-1/books/handbook/cutting-edge

Dru Lavigne dru at FreeBSD.org
Thu May 1 17:21:50 UTC 2014


Author: dru
Date: Thu May  1 17:21:49 2014
New Revision: 44732
URL: http://svnweb.freebsd.org/changeset/doc/44732

Log:
  Editorial review of Tracking for Multiple Machines.
  
  Sponsored by:	iXsystems

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

Modified: head/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml	Thu May  1 15:44:23 2014	(r44731)
+++ head/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml	Thu May  1 17:21:49 2014	(r44732)
@@ -2408,24 +2408,25 @@ Building everything..
     </indexterm>
 
     <para>When multiple machines need to track the same source tree,
-      it is a waste of disk space, network bandwidth, and CPU cycles
+      it is a waste of disk space, network bandwidth, and <acronym>CPU</acronym> cycles
       to have each system download the sources and rebuild everything.
       The solution is to have one machine do most of the work, while
-      the rest of the machines mount that work via NFS.  This section
-      outlines a method of doing so.</para>
-
-    <sect2 xml:id="small-lan-preliminaries">
-      <title>Preliminaries</title>
+      the rest of the machines mount that work via <acronym>NFS</acronym>.  This section
+      outlines a method of doing so.  For more information about using
+      <acronym>NFS</acronym>, refer to <xref
+	linkend="network-nfs"/>.</para>
 
       <para>First, identify a set of machines which will run the same
-	set of binaries, known as a <emphasis>build set</emphasis>.
+	set of binaries, known as a <firstterm>build set</firstterm>.
 	Each machine can have a custom kernel, but will run the same
 	userland binaries.  From that set, choose a machine to be the
-	<emphasis>build machine</emphasis> that the world and kernel
+	<firstterm>build machine</firstterm> that the world and kernel
 	are built on.  Ideally, this is a fast machine that has
-	sufficient spare CPU to run <command>make buildworld</command>
-	and <command>make buildkernel</command>.  Select a machine to
-	be the <emphasis>test machine</emphasis>, which will test
+	sufficient spare <acronym>CPU</acronym> to run <command>make buildworld</command>
+	and <command>make buildkernel</command>.</para>  
+
+      <para>Select a machine to
+	be the <firstterm>test machine</firstterm>, which will test
 	software updates before they are put into production.  This
 	<emphasis>must</emphasis> be a machine that can afford to be
 	down for an extended period of time.  It can be the build
@@ -2433,14 +2434,12 @@ Building everything..
 
       <para>All the machines in this build set need to mount
 	<filename>/usr/obj</filename> and
-	<filename>/usr/src</filename> from the same machine, and at
-	the same point.  Ideally, those directories are on two
-	different drives on the build machine, but they can be NFS
-	mounted on that machine as well.  For multiple build sets,
+	<filename>/usr/src</filename> from the build machine via
+	<acronym>NFS</acronym>.  For multiple build sets,
 	<filename>/usr/src</filename> should be on one build machine,
-	and NFS mounted on the rest.</para>
+	and <acronym>NFS</acronym> mounted on the rest.</para>
 
-      <para>Finally, ensure that <filename>/etc/make.conf</filename>
+      <para>Ensure that <filename>/etc/make.conf</filename>
 	and <filename>/etc/src.conf</filename> on all the machines in
 	the build set agree with the build machine.  That means that
 	the build machine must build all the parts of the base system
@@ -2448,51 +2447,40 @@ Building everything..
 	each build machine should have its kernel name set with
 	<varname>KERNCONF</varname> in
 	<filename>/etc/make.conf</filename>, and the build machine
-	should list them all in <varname>KERNCONF</varname>, listing
+	should list them all in its <varname>KERNCONF</varname>, listing
 	its own kernel first.  The build machine must have the kernel
-	configuration files for each machine in <filename
-	  class="directory">/usr/src/sys/<replaceable>arch</replaceable>/conf</filename>
-	if it is going to build their kernels.</para>
-    </sect2>
-
-    <sect2 xml:id="small-lan-base-system">
-      <title>The Base System</title>
+	configuration files for each machine in its <filename
+	  class="directory">/usr/src/sys/<replaceable>arch</replaceable>/conf</filename>.</para>
 
       <para>On the build machine, build the kernel and world as
-	described in <xref linkend="make-buildworld"/>, but do not
-	install anything.  After the build has finished, go to the
-	test machine, and install the built kernel.  If this machine
-	mounts <filename>/usr/src</filename> and
-	<filename>/usr/obj</filename> via NFS, enable the network and
-	mount these directories after rebooting to single user mode.
-	The easiest way to do this is to boot to multi-user, then run
-	<command>shutdown now</command> to go to single user mode.
-	Once there, install the new kernel and world and run
+	described in <xref linkend="makeworld"/>, but do not
+	install anything on the build machine.  Instead, install the built kernel
+	on the test machine.  On the test machine, mount
+	<filename>/usr/src</filename> and
+	<filename>/usr/obj</filename> via <acronym>NFS</acronym>.  Then, run
+	<command>shutdown now</command> to go to single-user mode in order to
+	install the new kernel and world and run
 	<command>mergemaster</command> as usual.  When done, reboot to
-	return to normal multi-user operations for this
-	machine.</para>
+	return to normal multi-user operations.</para>
 
       <para>After verifying that everything on the test machine is
 	working properly, use the same procedure to install the new
 	software on each of the other machines in the build
 	set.</para>
-    </sect2>
-
-    <sect2 xml:id="small-lan-ports">
-      <title>Ports</title>
 
-      <para>The same ideas can be used for the ports tree.  The first
-	critical step is to mount <filename>/usr/ports</filename> from
-	the same machine to all the machines in the build set.  Then,
-	configure <filename>/etc/make.conf</filename> properly to
-	share distfiles.  Set <varname>DISTDIR</varname> to a common
+      <para>The same methodology can be used for the ports tree.  The first
+	step is to share <filename>/usr/ports</filename> via
+	<acronym>NFS</acronym> to all the machines in the build set.  To
+	configure <filename>/etc/make.conf</filename> to
+	share distfiles, set <varname>DISTDIR</varname> to a common
 	shared directory that is writable by whichever user
 	<systemitem class="username">root</systemitem> is mapped to by
-	the NFS mounts.  Each machine should set
-	<varname>WRKDIRPREFIX</varname> to a local build directory.
-	Finally, if the system is to build and distribute packages,
-	set <varname>PACKAGES</varname> to a directory similar to
+	the <acronym>NFS</acronym> mount.  Each machine should set
+	<varname>WRKDIRPREFIX</varname> to a local build directory, if
+	ports are to be built locally.
+	Alternately, if the build system is to build and distribute
+	packages to the machines in the build set,
+	set <varname>PACKAGES</varname> on the build system to a directory similar to
 	<varname>DISTDIR</varname>.</para>
-    </sect2>
   </sect1>
 </chapter>


More information about the svn-doc-head mailing list