White space fix only. Translators can ignore.
Sponsored by: iXsystems
This commit is contained in:
parent
7843d93cf1
commit
e85f1751ed
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=43797
1 changed files with 107 additions and 102 deletions
|
@ -1439,51 +1439,53 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
|||
particular version of &os; such as &os.stable; or &os.current;,
|
||||
the source tree can be used to rebuild the system. This process
|
||||
is known as rebuilding world.</para>
|
||||
|
||||
|
||||
<para><emphasis>Before</emphasis> rebuilding world, be sure to
|
||||
perform the following tasks:</para>
|
||||
|
||||
<procedure>
|
||||
<title>Perform These Tasks <emphasis>Before</emphasis> Building World</title>
|
||||
<title>Perform These Tasks <emphasis>Before</emphasis>
|
||||
Building World</title>
|
||||
|
||||
<step>
|
||||
<para>Backup all important data to another system or removable
|
||||
media, verify the integrity of the backup, and have a bootable
|
||||
installation media at hand. It cannot be
|
||||
stressed enough how important it is to make a
|
||||
backup of the system <emphasis>before</emphasis> rebuilding
|
||||
the system. While rebuilding world is an easy task, there
|
||||
will inevitably be times when mistakes in the source tree
|
||||
render the system unbootable. You will probably never have
|
||||
to use the backup, but it is better to be safe than sorry!</para>
|
||||
</step>
|
||||
media, verify the integrity of the backup, and have a
|
||||
bootable installation media at hand. It cannot be stressed
|
||||
enough how important it is to make a backup of the system
|
||||
<emphasis>before</emphasis> rebuilding the system. While
|
||||
rebuilding world is an easy task, there will inevitably be
|
||||
times when mistakes in the source tree render the system
|
||||
unbootable. You will probably never have to use the backup,
|
||||
but it is better to be safe than sorry!</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<indexterm><primary>mailing list</primary></indexterm>
|
||||
<para>Review the recent &a.stable.name; or &a.current.name; entries, depending
|
||||
upon the branch being tracked. Be aware of any known
|
||||
problems and which systems are affected. If a known issue
|
||||
affects the version of synchronized code, wait for an <quote>all
|
||||
clear</quote> announcement to be posted stating that the problem has
|
||||
been solved. Resynchronize the sources to ensure that the
|
||||
local version of source has the needed fix.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Read
|
||||
<filename>/usr/src/UPDATING</filename> for any pre-buildworld
|
||||
steps necessary for that version of the source. This file contains
|
||||
important information about potential problems and may specify
|
||||
the order to run certain commands. Many upgrades require
|
||||
specific additional steps such as renaming or deleting
|
||||
specific files prior to installworld. These will be listed
|
||||
at the end of this file where the currently recommended upgrade sequence
|
||||
is explicitly spelled out. If
|
||||
<filename>UPDATING</filename> contradicts any steps in
|
||||
this chapter, the instructions in <filename>UPDATING</filename> take
|
||||
precedence and should be followed.</para>
|
||||
</step>
|
||||
</procedure>
|
||||
<step>
|
||||
<indexterm><primary>mailing list</primary></indexterm>
|
||||
<para>Review the recent &a.stable.name; or &a.current.name;
|
||||
entries, depending upon the branch being tracked. Be aware
|
||||
of any known problems and which systems are affected. If a
|
||||
known issue affects the version of synchronized code, wait
|
||||
for an <quote>all clear</quote> announcement to be posted
|
||||
stating that the problem has been solved. Resynchronize the
|
||||
sources to ensure that the local version of source has the
|
||||
needed fix.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Read <filename>/usr/src/UPDATING</filename> for any
|
||||
pre-buildworld steps necessary for that version of the
|
||||
source. This file contains important information about
|
||||
potential problems and may specify the order to run certain
|
||||
commands. Many upgrades require specific additional steps
|
||||
such as renaming or deleting specific files prior to
|
||||
installworld. These will be listed at the end of this file
|
||||
where the currently recommended upgrade sequence is
|
||||
explicitly spelled out. If
|
||||
<filename>UPDATING</filename> contradicts any steps in this
|
||||
chapter, the instructions in <filename>UPDATING</filename>
|
||||
take precedence and should be followed.</para>
|
||||
</step>
|
||||
</procedure>
|
||||
|
||||
<warning>
|
||||
<title>Do Not Use <command>make world</command></title>
|
||||
|
@ -1499,112 +1501,116 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
|||
<sect2 xml:id="canonical-build">
|
||||
<title>Overview of Process</title>
|
||||
|
||||
<para>The build world process assumes an upgrade from an older &os;
|
||||
version using the source of a newer
|
||||
version that was obtained using the instructions in
|
||||
<para>The build world process assumes an upgrade from an older
|
||||
&os; version using the source of a newer version that was
|
||||
obtained using the instructions in
|
||||
<xref linkend="synching"/>.</para>
|
||||
|
||||
<para>In &os;, the term <quote>world</quote> includes the kernel, core system binaries,
|
||||
libraries, programming files, and built-in compiler. The order in which these
|
||||
components are built and installed is important.</para>
|
||||
|
||||
<para>For example, the old compiler might have a bug and not be able to
|
||||
compile the new kernel. Since the new kernel should be
|
||||
built with the new compiler, the new compiler
|
||||
must be built, but not necessarily installed, before the new kernel is built.</para>
|
||||
|
||||
<para>The new world might rely on new kernel features,
|
||||
so the new kernel must be installed before the new world is
|
||||
installed. The old world might not run correctly on the new
|
||||
kernel, so the new world must be installed immediately
|
||||
upon installing the new kernel.</para>
|
||||
<para>In &os;, the term <quote>world</quote> includes the
|
||||
kernel, core system binaries, libraries, programming files,
|
||||
and built-in compiler. The order in which these components
|
||||
are built and installed is important.</para>
|
||||
|
||||
<para>Some configuration changes must be made before the new
|
||||
world is installed, but others might break the old world.
|
||||
Hence, two different configuration upgrade steps are
|
||||
used. For the most part, the update process only replaces or
|
||||
adds files and existing old files are not deleted. Since
|
||||
this can cause problems, <filename>/usr/src/UPDATING</filename>
|
||||
will indicate if any files
|
||||
need to be manually deleted and at which step to do so.</para>
|
||||
<para>For example, the old compiler might have a bug and not be
|
||||
able to compile the new kernel. Since the new kernel should
|
||||
be built with the new compiler, the new compiler must be
|
||||
built, but not necessarily installed, before the new kernel is
|
||||
built.</para>
|
||||
|
||||
<para>The new world might rely on new kernel features, so the
|
||||
new kernel must be installed before the new world is
|
||||
installed. The old world might not run correctly on the new
|
||||
kernel, so the new world must be installed immediately upon
|
||||
installing the new kernel.</para>
|
||||
|
||||
<para>Some configuration changes must be made before the new
|
||||
world is installed, but others might break the old world.
|
||||
Hence, two different configuration upgrade steps are used.
|
||||
For the most part, the update process only replaces or adds
|
||||
files and existing old files are not deleted. Since this can
|
||||
cause problems, <filename>/usr/src/UPDATING</filename> will
|
||||
indicate if any files need to be manually deleted and at which
|
||||
step to do so.</para>
|
||||
|
||||
<para>These concerns have led to the recommended upgrade
|
||||
sequence described in
|
||||
the following procedure.</para>
|
||||
|
||||
<procedure>
|
||||
<title>Overview of Build World Process</title>
|
||||
<procedure>
|
||||
<title>Overview of Build World Process</title>
|
||||
|
||||
<para>The commands used in the build world process should be run in the order specified
|
||||
here. This section summarizes the function of each command.</para>
|
||||
<para>The commands used in the build world process should be
|
||||
run in the order specified here. This section summarizes
|
||||
the function of each command.</para>
|
||||
|
||||
<step>
|
||||
<para>Compile the new compiler and a few related
|
||||
tools, then use the new compiler to compile the rest of
|
||||
the new world. The result is saved to
|
||||
<filename class="directory">/usr/obj</filename>.</para>
|
||||
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
|
||||
&prompt.root; <userinput>make buildworld</userinput></screen>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Use the new compiler
|
||||
residing in <filename class="directory">/usr/obj</filename>
|
||||
to build the new kernel, in order to
|
||||
protect against compiler-kernel mismatches:</para>
|
||||
<para>Use the new compiler residing in <filename
|
||||
class="directory">/usr/obj</filename> to build the new
|
||||
kernel, in order to protect against compiler-kernel
|
||||
mismatches:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make buildkernel</userinput></screen>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Install the new kernel and kernel modules,
|
||||
making it possible to boot with the newly updated
|
||||
kernel:</para>
|
||||
<para>Install the new kernel and kernel modules, making it
|
||||
possible to boot with the newly updated kernel:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make installkernel</userinput></screen>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Drop the system into single user mode in order to minimize problems from updating
|
||||
any binaries that are already running. It also minimizes any
|
||||
problems from running the old world on a new
|
||||
kernel.</para>
|
||||
<para>Drop the system into single user mode in order to
|
||||
minimize problems from updating any binaries that are
|
||||
already running. It also minimizes any problems from
|
||||
running the old world on a new kernel.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>shutdown now</userinput></screen>
|
||||
|
||||
<para>Once in single-user mode, run this command if the
|
||||
system is formatted with UFS:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>mount -u /</userinput>
|
||||
<screen>&prompt.root; <userinput>mount -u /</userinput>
|
||||
&prompt.root; <userinput>mount -a -t ufs</userinput></screen>
|
||||
|
||||
<para>If the system is instead formatted with ZFS, run these
|
||||
two commands. This example assumes a zpool name of <literal>zroot</literal>:</para>
|
||||
<para>If the system is instead formatted with ZFS, run these
|
||||
two commands. This example assumes a zpool name of
|
||||
<literal>zroot</literal>:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>zfs set readonly=off zroot</userinput>
|
||||
<screen>&prompt.root; <userinput>zfs set readonly=off zroot</userinput>
|
||||
&prompt.root; <userinput>zfs mount -a</userinput></screen>
|
||||
</step>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Then, for either filesystem, run:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>adjkerntz -i</userinput></screen>
|
||||
</step>
|
||||
|
||||
|
||||
<step>
|
||||
<para>Next, perform some initial configuration file updates in
|
||||
preparation for the new world. For instance, this step may add
|
||||
new groups or new system accounts which have been added
|
||||
to &os; since the last update. This is necessary so that the
|
||||
<buildtarget>installworld</buildtarget> step will be able
|
||||
to use the new system accounts and groups.</para>
|
||||
<para>Next, perform some initial configuration file updates
|
||||
in preparation for the new world. For instance, this step
|
||||
may add new groups or new system accounts which have been
|
||||
added to &os; since the last update. This is necessary so
|
||||
that the <buildtarget>installworld</buildtarget> step will
|
||||
be able to use the new system accounts and groups.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>mergemaster -p</userinput></screen>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Install the new world
|
||||
from <filename class="directory">/usr/obj</filename>.</para>
|
||||
<para>Install the new world from <filename
|
||||
class="directory">/usr/obj</filename>.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
|
||||
&prompt.root; <userinput>make installworld</userinput></screen>
|
||||
|
@ -1617,26 +1623,25 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
|||
</step>
|
||||
|
||||
<step>
|
||||
<para>Delete any obsolete files. This is
|
||||
important as they may cause problems if left on
|
||||
the disk.</para>
|
||||
<para>Delete any obsolete files. This is important as they
|
||||
may cause problems if left on the disk.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make delete-old</userinput></screen>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>A full reboot is now needed to load the new
|
||||
kernel and new world with the new configuration files.</para>
|
||||
<para>A full reboot is now needed to load the new kernel and
|
||||
new world with the new configuration files.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>reboot</userinput></screen>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Make sure that all installed ports have first been rebuilt
|
||||
before old libraries are removed using the instructions in
|
||||
<xref linkend="ports-upgrading"/>. When finished,
|
||||
remove any obsolete libraries to avoid conflicts with
|
||||
newer ones.</para>
|
||||
<para>Make sure that all installed ports have first been
|
||||
rebuilt before old libraries are removed using the
|
||||
instructions in <xref linkend="ports-upgrading"/>. When
|
||||
finished, remove any obsolete libraries to avoid conflicts
|
||||
with newer ones.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make delete-old-libs</userinput></screen>
|
||||
</step>
|
||||
|
|
Loading…
Reference in a new issue