White space fix only. Translators can ignore.

Sponsored by:	iXsystems
This commit is contained in:
Dru Lavigne 2014-04-28 17:39:38 +00:00
parent 9334240a44
commit 5ae07a880a
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=44674

View file

@ -423,7 +423,8 @@ MergeChanges /etc/ /var/named/etc/ /boot/device.hints</programlisting>
&prompt.root; <userinput>cd /cdrom/<replaceable>X.Y-RELEASE</replaceable>/kernels</userinput>
&prompt.root; <userinput>./install.sh GENERIC</userinput></screen>
<para>Replace <filename class="directory"><replaceable>X.Y-RELEASE</replaceable></filename>
<para>Replace <filename
class="directory"><replaceable>X.Y-RELEASE</replaceable></filename>
with the actual version of the release being used.
The <filename>GENERIC</filename> kernel will be
installed in <filename>/boot/GENERIC</filename> by
@ -717,35 +718,35 @@ before running "/usr/sbin/freebsd-update install"</screen>
<para>Documentation is an integral part of the &os; operating
system. While an up-to-date version of the &os; documentation
is always available on the &os; web site
(<link xlink:href="&url.base;/doc/">http://www.freebsd.org/doc/</link>),
is always available on the &os; web site (<link
xlink:href="&url.base;/doc/">http://www.freebsd.org/doc/</link>),
it can be handy to have an up-to-date, local copy of the &os;
website, handbooks, <acronym>FAQ</acronym>, and articles.</para>
<para>This section describes how to use either source or the &os;
Ports Collection to keep a local copy of the &os; documentation
up-to-date.</para>
<para>For information on editing and submitting corrections to
the documentation, refer to the &os; Documentation
Project Primer for New Contributors
(<link xlink:href="&url.books.fdp-primer;">http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/</link>).</para>
<para>For information on editing and submitting corrections to the
documentation, refer to the &os; Documentation Project Primer
for New Contributors (<link
xlink:href="&url.books.fdp-primer;">http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/</link>).</para>
<sect2 xml:id="updating-installed-documentation">
<title>Updating Documentation from Source</title>
<para>Rebuilding the &os; documentation from source requires a
collection of tools which are not part of the &os; base system.
The required tools, including
collection of tools which are not part of the &os; base
system. The required tools, including
<application>svn</application>, can be installed from the
<package>textproc/docproj</package> package or port
developed by the &os; Documentation Project.</para>
<package>textproc/docproj</package> package or port developed
by the &os; Documentation Project.</para>
<para>Once installed, use <application>svn</application> to
fetch a clean copy of the documentation source. Replace
<replaceable>https://svn0.us-west.FreeBSD.org</replaceable>
with the address of the closest geographic mirror from
<xref linkend="svn-mirrors"/>:</para>
with the address of the closest geographic mirror from <xref
linkend="svn-mirrors"/>:</para>
<screen>&prompt.root; <userinput>svn checkout <replaceable>https://svn0.us-west.FreeBSD.org</replaceable>/doc/head /usr/doc</userinput></screen>
@ -775,10 +776,9 @@ before running "/usr/sbin/freebsd-update install"</screen>
<screen>&prompt.root; <userinput>cd /usr/doc/en_US.ISO8859-1</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>An alternative way of
updating the documentation is to run this
command from <filename>/usr/doc</filename> or
the desired language-specific subdirectory:</para>
<para>An alternative way of updating the documentation is to run
this command from <filename>/usr/doc</filename> or the desired
language-specific subdirectory:</para>
<screen>&prompt.root; <userinput>make update</userinput></screen>
@ -788,11 +788,12 @@ before running "/usr/sbin/freebsd-update install"</screen>
<screen>&prompt.root; <userinput>cd /usr/doc</userinput>
&prompt.root; <userinput>make FORMATS='html html-split' install clean</userinput></screen>
<para>Several options are available to ease the process of updating
only parts of the documentation, or the build of specific
translations. These options can be set either as system-wide
options in <filename>/etc/make.conf</filename>, or as
command-line options passed to <command>make</command>.</para>
<para>Several options are available to ease the process of
updating only parts of the documentation, or the build of
specific translations. These options can be set either as
system-wide options in <filename>/etc/make.conf</filename>, or
as command-line options passed to
<command>make</command>.</para>
<para>The options include:</para>
@ -814,8 +815,8 @@ before running "/usr/sbin/freebsd-update install"</screen>
<para>A single format or a list of output formats to be
built. Currently, <literal>html</literal>,
<literal>html-split</literal>, <literal>txt</literal>,
<literal>ps</literal>, and <literal>pdf</literal>
are supported.</para>
<literal>ps</literal>, and <literal>pdf</literal> are
supported.</para>
</listitem>
</varlistentry>
@ -859,138 +860,134 @@ before running "/usr/sbin/freebsd-update install"</screen>
</indexterm>
<para>The previous section presented a method for updating the
&os; documentation from sources. This section describes an alternative method which
uses the Ports Collection and makes it possible to:</para>
&os; documentation from sources. This section describes an
alternative method which uses the Ports Collection and makes
it possible to:</para>
<itemizedlist>
<listitem>
<para>Install pre-built packages of the
documentation, without having to locally build anything
or install the documentation toolchain.</para>
<para>Install pre-built packages of the documentation,
without having to locally build anything or install the
documentation toolchain.</para>
</listitem>
<listitem>
<para>Build the documentation sources
through the ports framework, making the checkout and build
steps a bit easier.</para>
<para>Build the documentation sources through the ports
framework, making the checkout and build steps a bit
easier.</para>
</listitem>
</itemizedlist>
<para>This method of updating the &os; documentation is
supported by a set of
documentation ports and packages which are updated by the
&a.doceng; on a monthly basis. These are listed in the &os;
Ports&nbsp;Collection, under the docs category (<link
supported by a set of documentation ports and packages which
are updated by the &a.doceng; on a monthly basis. These are
listed in the &os; Ports&nbsp;Collection, under the docs
category (<link
xlink:href="http://www.freshports.org/docs/">http://www.freshports.org/docs/</link>).</para>
<para>Organization of the documentation ports is as
follows:</para>
<para>Organization of the documentation ports is as
follows:</para>
<itemizedlist>
<listitem>
<para>The
<package>misc/freebsd-doc-en</package> package or port installs
all of the English documentation.</para>
</listitem>
<itemizedlist>
<listitem>
<para>The <package>misc/freebsd-doc-en</package> package or
port installs all of the English documentation.</para>
</listitem>
<listitem>
<para>The
<package>misc/freebsd-doc-all</package> meta-package or port
installs all documentation in all available
languages.</para>
</listitem>
<listitem>
<para>The <package>misc/freebsd-doc-all</package>
meta-package or port installs all documentation in all
available languages.</para>
</listitem>
<listitem>
<para>There is a package and port for each
translation, such as
<package>misc/freebsd-doc-hu</package> for the
Hungarian documentation.</para>
</listitem>
</itemizedlist>
<listitem>
<para>There is a package and port for each translation, such
as <package>misc/freebsd-doc-hu</package> for the
Hungarian documentation.</para>
</listitem>
</itemizedlist>
<para>When binary packages are used, the &os; documentation
will be installed in all available
formats for the given language. For example, the following command will install the
latest package of the Hungarian
documentation:</para>
<para>When binary packages are used, the &os; documentation will
be installed in all available formats for the given language.
For example, the following command will install the latest
package of the Hungarian documentation:</para>
<screen>&prompt.root; <userinput>pkg install hu-freebsd-doc</userinput></screen>
<screen>&prompt.root; <userinput>pkg install hu-freebsd-doc</userinput></screen>
<note>
<para>Packages use a format that differs from the
corresponding port's name:
<literal><replaceable>lang</replaceable>-freebsd-doc</literal>,
where <replaceable>lang</replaceable> is the short format
of the language code, such as <literal>hu</literal> for
Hungarian, or <literal>zh_cn</literal> for Simplified
Chinese.</para>
</note>
<note>
<para>Packages use a format that differs from the
corresponding port's name:
<literal><replaceable>lang</replaceable>-freebsd-doc</literal>,
where <replaceable>lang</replaceable> is the short format of
the language code, such as <literal>hu</literal> for
Hungarian, or <literal>zh_cn</literal> for Simplified
Chinese.</para>
</note>
<para>To specify the format of the documentation, build the
port instead of installing the package. For example, to build and install the English
documentation:</para>
<para>To specify the format of the documentation, build the port
instead of installing the package. For example, to build and
install the English documentation:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/misc/freebsd-doc-en</userinput>
<screen>&prompt.root; <userinput>cd /usr/ports/misc/freebsd-doc-en</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>The port provides a configuration menu where the format
to build and install can be specified. By default, split
<acronym>HTML</acronym>, similar to the format used on <uri
xlink:href="http://www.FreeBSD.org">http://www.FreeBSD.org</uri>,
and <acronym>PDF</acronym> are
selected.</para>
<para>The port provides a configuration menu where the format to
build and install can be specified. By default, split
<acronym>HTML</acronym>, similar to the format used on <uri
xlink:href="http://www.FreeBSD.org">http://www.FreeBSD.org</uri>,
and <acronym>PDF</acronym> are selected.</para>
<para>Alternately, several <command>make</command> options can be specified
when building a documentation port, including:</para>
<para>Alternately, several <command>make</command> options can
be specified when building a documentation port,
including:</para>
<variablelist>
<varlistentry>
<term><varname>WITH_HTML</varname></term>
<variablelist>
<varlistentry>
<term><varname>WITH_HTML</varname></term>
<listitem>
<para>Builds the HTML format with a single HTML file
per document. The formatted documentation is saved
to a file called <filename>article.html</filename>,
or <filename>book.html</filename>.</para>
</listitem>
</varlistentry>
<listitem>
<para>Builds the HTML format with a single HTML file per
document. The formatted documentation is saved to a
file called <filename>article.html</filename>, or
<filename>book.html</filename>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>WITH_PDF</varname></term>
<varlistentry>
<term><varname>WITH_PDF</varname></term>
<listitem>
<para>The formatted documentation is saved to a
file called <filename>article.pdf</filename> or
<filename>book.pdf</filename>.</para>
</listitem>
</varlistentry>
<listitem>
<para>The formatted documentation is saved to a file
called <filename>article.pdf</filename> or
<filename>book.pdf</filename>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>DOCBASE</varname></term>
<varlistentry>
<term><varname>DOCBASE</varname></term>
<listitem>
<para>Specifies where to install the documentation.
It defaults to
<filename>/usr/local/share/doc/freebsd</filename>.</para>
</listitem>
</varlistentry>
</variablelist>
<listitem>
<para>Specifies where to install the documentation. It
defaults to
<filename>/usr/local/share/doc/freebsd</filename>.</para>
</listitem>
</varlistentry>
</variablelist>
<para>This example uses variables to install the Hungarian
documentation as a <acronym>PDF</acronym> in the specified
directory:</para>
<para>This example uses variables to install the Hungarian
documentation as a <acronym>PDF</acronym> in the specified
directory:</para>
<screen>&prompt.root; cd /usr/ports/misc/freebsd-doc-hu
<screen>&prompt.root; cd /usr/ports/misc/freebsd-doc-hu
&prompt.root; make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install clean</screen>
<para>Documentation packages or ports can be updated using the
instructions in <xref linkend="ports"/>.
For example, the following command updates the installed
Hungarian documentation using
<package>ports-mgmt/portmaster</package>
by using packages only:</para>
<para>Documentation packages or ports can be updated using the
instructions in <xref linkend="ports"/>. For example, the
following command updates the installed Hungarian
documentation using <package>ports-mgmt/portmaster</package>
by using packages only:</para>
<screen>&prompt.root; <userinput>portmaster -PP hu-freebsd-doc</userinput></screen>
<screen>&prompt.root; <userinput>portmaster -PP hu-freebsd-doc</userinput></screen>
</sect2>
</sect1>
@ -1605,139 +1602,132 @@ Script started, output file is /var/tmp/mw.out
&prompt.root; <userinput>exit</userinput>
Script done, &hellip;</screen>
<para><emphasis>Do not</emphasis> save the output in
<filename>/tmp</filename> as this directory may be cleared
at next reboot. A better place to save the file is
<filename>/var/tmp</filename> or in
<systemitem class="username">root</systemitem>'s home
directory.</para>
<para><emphasis>Do not</emphasis> save the output in
<filename>/tmp</filename> as this directory may be cleared at
next reboot. A better place to save the file is
<filename>/var/tmp</filename> or in <systemitem
class="username">root</systemitem>'s home directory.</para>
<para>While in <filename>/usr/src</filename>
type:</para>
<para>While in <filename>/usr/src</filename> type:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
<screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
<indexterm>
<primary><command>make</command></primary>
</indexterm>
<indexterm>
<primary><command>make</command></primary>
</indexterm>
<para>To rebuild the world, use &man.make.1;. This command
reads instructions from the <filename>Makefile</filename>,
which describes how the programs that comprise &os; should
be built and the order in which they should be built.</para>
<para>To rebuild the world, use &man.make.1;. This command
reads instructions from the <filename>Makefile</filename>,
which describes how the programs that comprise &os; should be
built and the order in which they should be built.</para>
<para>The general format of the command is as follows:</para>
<para>The general format of the command is as follows:</para>
<screen>&prompt.root; <userinput>make -<replaceable>x</replaceable> -D<replaceable>VARIABLE</replaceable> <replaceable>target</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>make -<replaceable>x</replaceable> -D<replaceable>VARIABLE</replaceable> <replaceable>target</replaceable></userinput></screen>
<para>In this example,
<option>-<replaceable>x</replaceable></option> is an option
passed to &man.make.1;. Refer to &man.make.1; for an
examples of available options.</para>
<para>In this example,
<option>-<replaceable>x</replaceable></option> is an option
passed to &man.make.1;. Refer to &man.make.1; for an examples
of available options.</para>
<para><option>-D<replaceable>VARIABLE</replaceable></option>
passes a variable to the <filename>Makefile</filename>. The
behavior of the <filename>Makefile</filename> is controlled
by these variables. These are the same variables as are set
in <filename>/etc/make.conf</filename>, and this provides
another way of setting them. For example:</para>
<para><option>-D<replaceable>VARIABLE</replaceable></option>
passes a variable to the <filename>Makefile</filename>. The
behavior of the <filename>Makefile</filename> is controlled by
these variables. These are the same variables as are set in
<filename>/etc/make.conf</filename>, and this provides
another way of setting them. For example:</para>
<screen>&prompt.root; <userinput>make -DNO_PROFILE <replaceable>target</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>make -DNO_PROFILE <replaceable>target</replaceable></userinput></screen>
<para>is another way of specifying that profiled libraries
should not be built, and corresponds with the</para>
<para>is another way of specifying that profiled libraries
should not be built, and corresponds with the</para>
<programlisting>NO_PROFILE= true # Avoid compiling profiled libraries</programlisting>
<programlisting>NO_PROFILE= true # Avoid compiling profiled libraries</programlisting>
<para>line in <filename>/etc/make.conf</filename>.</para>
<para>line in <filename>/etc/make.conf</filename>.</para>
<para><replaceable>target</replaceable> tells &man.make.1;
what to do. Each <filename>Makefile</filename> defines a
number of different <quote>targets</quote>, and the choice
of target determines what happens.</para>
<para><replaceable>target</replaceable> tells &man.make.1; what
to do. Each <filename>Makefile</filename> defines a number of
different <quote>targets</quote>, and the choice of target
determines what happens.</para>
<para>Some targets listed in the
<filename>Makefile</filename> are used by the build process
to break out the steps necessary to rebuild the system into
a number of sub-steps.</para>
<para>Some targets listed in the <filename>Makefile</filename>
are used by the build process to break out the steps
necessary to rebuild the system into a number of
sub-steps.</para>
<para>Most of the time, no parameters need to be passed to
&man.make.1; and the command looks like this:</para>
<para>Most of the time, no parameters need to be passed to
&man.make.1; and the command looks like this:</para>
<screen>&prompt.root; <userinput>make <replaceable>target</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>make <replaceable>target</replaceable></userinput></screen>
<para>Where <replaceable>target</replaceable> is one of many
build options. The first target should always be
<buildtarget>buildworld</buildtarget>.</para>
<para>Where <replaceable>target</replaceable> is one of many
build options. The first target should always be
<buildtarget>buildworld</buildtarget>.</para>
<para>As the names imply,
<buildtarget>buildworld</buildtarget> builds a complete new
tree under <filename>/usr/obj</filename> and
<buildtarget>installworld</buildtarget> installs this tree
on the current machine.</para>
<para>As the names imply, <buildtarget>buildworld</buildtarget>
builds a complete new tree under <filename>/usr/obj</filename>
and <buildtarget>installworld</buildtarget> installs this tree
on the current machine.</para>
<para>Having separate options is useful for two reasons.
First, it allows for a <quote>self hosted</quote> build that
does not affect any components of a running system. Because
of this, <buildtarget>buildworld</buildtarget> can be run on
a machine running in multi-user mode with no fear of
ill-effects. It is still recommended that
<buildtarget>installworld</buildtarget> be run in part in
single user mode, though.</para>
<para>Having separate options is useful for two reasons. First,
it allows for a <quote>self hosted</quote> build that does not
affect any components of a running system. Because of this,
<buildtarget>buildworld</buildtarget> can be run on a machine
running in multi-user mode with no fear of ill-effects. It is
still recommended that <buildtarget>installworld</buildtarget>
be run in part in single user mode, though.</para>
<para>Secondly, it allows NFS mounts to be used to upgrade
multiple machines on a network. If order to upgrade three
machines, <systemitem>A</systemitem>,
<systemitem>B</systemitem> and <systemitem>C</systemitem>,
run <command>make buildworld</command> and
<command>make installworld</command> on
<systemitem>A</systemitem>. <systemitem>B</systemitem> and
<systemitem>C</systemitem> should then NFS mount
<filename>/usr/src</filename> and
<filename>/usr/obj</filename> from
<systemitem>A</systemitem>, and run
<command>make installworld</command> to install the results
of the build on <systemitem>B</systemitem> and
<systemitem>C</systemitem>.</para>
<para>Secondly, it allows NFS mounts to be used to upgrade
multiple machines on a network. If order to upgrade three
machines, <systemitem>A</systemitem>,
<systemitem>B</systemitem> and <systemitem>C</systemitem>, run
<command>make buildworld</command> and <command>make
installworld</command> on <systemitem>A</systemitem>.
<systemitem>B</systemitem> and <systemitem>C</systemitem>
should then NFS mount <filename>/usr/src</filename> and
<filename>/usr/obj</filename> from <systemitem>A</systemitem>,
and run <command>make installworld</command> to install the
results of the build on <systemitem>B</systemitem> and
<systemitem>C</systemitem>.</para>
<para>Although the <buildtarget>world</buildtarget> target
still exists, users are strongly encouraged not to use
it.</para>
<para>Although the <buildtarget>world</buildtarget> target still
exists, users are strongly encouraged not to use it.</para>
<para>Instead, run:</para>
<para>Instead, run:</para>
<screen>&prompt.root; <userinput>make buildworld</userinput></screen>
<screen>&prompt.root; <userinput>make buildworld</userinput></screen>
<para>It is possible to specify <option>-j</option> which
will cause <command>make</command> to spawn several
simultaneous processes. This is most useful on multi-CPU
machines. However, since much of the compiling process is
I/O bound rather than CPU bound, it is also useful on single
CPU machines.</para>
<para>It is possible to specify <option>-j</option> which will
cause <command>make</command> to spawn several simultaneous
processes. This is most useful on multi-CPU machines.
However, since much of the compiling process is I/O bound
rather than CPU bound, it is also useful on single CPU
machines.</para>
<para>On a typical single-CPU machine, run:</para>
<para>On a typical single-CPU machine, run:</para>
<screen>&prompt.root; <userinput>make -j4 buildworld</userinput></screen>
<screen>&prompt.root; <userinput>make -j4 buildworld</userinput></screen>
<para>&man.make.1; will then have up to 4 processes running at
any one time. Empirical evidence posted to the mailing
lists shows this generally gives the best performance
benefit.</para>
<para>&man.make.1; will then have up to 4 processes running at
any one time. Empirical evidence posted to the mailing lists
shows this generally gives the best performance
benefit.</para>
<para>On a multi-CPU machine using an SMP configured kernel,
try values between 6 and 10 and see how they speed things
up.</para>
<para>On a multi-CPU machine using an SMP configured kernel, try
values between 6 and 10 and see how they speed things
up.</para>
<indexterm>
<primary>rebuilding <quote>world</quote></primary>
<secondary>timings</secondary>
</indexterm>
<indexterm>
<primary>rebuilding <quote>world</quote></primary>
<secondary>timings</secondary>
</indexterm>
<para>Many factors influence the build time, but fairly recent
machines may only take a one or two hours to build the
&os.stable; tree, with no tricks or shortcuts used during
the process. A &os.current; tree will take somewhat
longer.</para>
<para>Many factors influence the build time, but fairly recent
machines may only take a one or two hours to build the
&os.stable; tree, with no tricks or shortcuts used during the
process. A &os.current; tree will take somewhat
longer.</para>
</sect2>
<sect2 xml:id="new-kernel">
@ -2334,14 +2324,14 @@ Building everything..
class="directory">/usr</filename> with
<option>noatime</option>.</para>
<para>The file system holding
<filename class="directory">/usr/obj</filename> can be mounted or
remounted with <option>async</option> so that disk
<para>The file system holding <filename
class="directory">/usr/obj</filename> can be mounted
or remounted with <option>async</option> so that disk
writes happen asynchronously. The write completes
immediately, and the data is written to the disk a
few seconds later. This allows writes to be
clustered together, and can provide a dramatic
performance boost.</para>
immediately, and the data is written to the disk a few
seconds later. This allows writes to be clustered
together, and can provide a dramatic performance
boost.</para>
<warning>
<para>Keep in mind that this option makes the file
@ -2351,21 +2341,20 @@ Building everything..
machine restarts.</para>
<para>If <filename>/usr/obj</filename> is the only
directory on this file system, this is not a
problem. If you have other, valuable data on the
same file system, ensure that there are verified
backups before enabling this option.</para>
directory on this file system, this is not a problem.
If you have other, valuable data on the same file
system, ensure that there are verified backups before
enabling this option.</para>
</warning>
<para>Turn off profiling by setting
<quote>NO_PROFILE=true</quote> in
<filename>/etc/make.conf</filename>.</para>
<para>Pass
<option>-j<replaceable>n</replaceable></option> to
&man.make.1; to run multiple processes in parallel.
This usually helps on both single- and
multi-processor machines.</para>
<para>Pass <option>-j<replaceable>n</replaceable></option>
to &man.make.1; to run multiple processes in parallel.
This usually helps on both single- and multi-processor
machines.</para>
</listitem>
</varlistentry>
@ -2428,16 +2417,15 @@ Building everything..
<sect2 xml:id="small-lan-preliminaries">
<title>Preliminaries</title>
<para>First, identify a set of machines which will run the
same set of binaries, known as a <emphasis>build
set</emphasis>. 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 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
<para>First, identify a set of machines which will run the same
set of binaries, known as a <emphasis>build set</emphasis>.
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
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
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
@ -2445,13 +2433,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>
should be on one build machine, and NFS mounted on the
rest.</para>
<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> should be on one build machine,
and NFS mounted on the rest.</para>
<para>Finally, ensure that <filename>/etc/make.conf</filename>
and <filename>/etc/src.conf</filename> on all the machines in
@ -2463,8 +2450,8 @@ Building everything..
<filename>/etc/make.conf</filename>, and the build machine
should list them all in <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>
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>
@ -2472,18 +2459,18 @@ Building everything..
<title>The Base System</title>
<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
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 <command>mergemaster</command> as usual. When
done, reboot to return to normal multi-user operations for
this machine.</para>
<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
<command>mergemaster</command> as usual. When done, reboot to
return to normal multi-user operations for this
machine.</para>
<para>After verifying that everything on the test machine is
working properly, use the same procedure to install the new