Recommit this rewrite, recreating all the changes that were wiped out

by the version control system.
This commit is contained in:
Warren Block 2017-05-12 20:33:27 +00:00
parent aa76ce37db
commit 881218adc1
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=50253

View file

@ -246,7 +246,7 @@ MergeChanges /etc/ /var/named/etc/ /boot/device.hints</programlisting>
Merges are either accepted, open an editor, or cause Merges are either accepted, open an editor, or cause
<command>freebsd-update</command> to abort. When in doubt, <command>freebsd-update</command> to abort. When in doubt,
backup <filename>/etc</filename> and just accept the merges. backup <filename>/etc</filename> and just accept the merges.
See <xref linkend="mergemaster"/> for more information about See &man.mergemaster.8; for more information about
<command>mergemaster</command>.</para> <command>mergemaster</command>.</para>
<programlisting># Directory in which to store downloaded updates and temporary <programlisting># Directory in which to store downloaded updates and temporary
@ -1077,7 +1077,7 @@ before running "/usr/sbin/freebsd-update install"</screen>
to take advantage of specific hardware. Parts of the base to take advantage of specific hardware. Parts of the base
system can be built with non-default settings, or left out system can be built with non-default settings, or left out
entirely where they are not needed or desired. The build entirely where they are not needed or desired. The build
process takes longer to update a system than binary updates, but process takes longer to update a system than just installing binary updates, but
allows complete customization to produce a tailored version of allows complete customization to produce a tailored version of
&os;.</para> &os;.</para>
@ -1089,23 +1089,6 @@ before running "/usr/sbin/freebsd-update install"</screen>
the process in more detail.</para> the process in more detail.</para>
<procedure> <procedure>
<step xml:id="updating-src-quick-start-preparing">
<title>Preparing</title>
<para>The very first time a computer is updated from source,
run</para>
<screen>&prompt.root; <userinput>etcupdate extract</userinput></screen>
<para>This creates a checkpoint for later comparison and
merging of system settings.</para>
<para><emphasis>This step is only done once on a particular
computer.</emphasis> &man.etcupdate.8; does not need any
additional updates after the first
<emphasis>extract</emphasis>.</para>
</step>
<step> <step>
<title>Update and Build</title> <title>Update and Build</title>
@ -1115,7 +1098,7 @@ before running "/usr/sbin/freebsd-update install"</screen>
&prompt.root; <userinput>make -j<replaceable>4</replaceable> buildworld</userinput> <co xml:id="updating-src-qs-buildworld"/> &prompt.root; <userinput>make -j<replaceable>4</replaceable> buildworld</userinput> <co xml:id="updating-src-qs-buildworld"/>
&prompt.root; <userinput>make -j<replaceable>4</replaceable> kernel</userinput> <co xml:id="updating-src-qs-kernel"/> &prompt.root; <userinput>make -j<replaceable>4</replaceable> kernel</userinput> <co xml:id="updating-src-qs-kernel"/>
&prompt.root; <userinput>make installworld</userinput> <co xml:id="updating-src-qs-installworld"/> &prompt.root; <userinput>make installworld</userinput> <co xml:id="updating-src-qs-installworld"/>
&prompt.root; <userinput>etcupdate</userinput> <co xml:id="updating-src-qs-etcupdate"/> &prompt.root; <userinput>mergemaster -Ui</userinput> <co xml:id="updating-src-qs-mergemaster"/>
&prompt.root; <userinput>shutdown -r now</userinput> <co xml:id="updating-src-qs-shutdown"/></screen> &prompt.root; <userinput>shutdown -r now</userinput> <co xml:id="updating-src-qs-shutdown"/></screen>
<calloutlist> <calloutlist>
@ -1152,7 +1135,7 @@ before running "/usr/sbin/freebsd-update install"</screen>
<para>Install the world.</para> <para>Install the world.</para>
</callout> </callout>
<callout arearefs="updating-src-qs-etcupdate"> <callout arearefs="updating-src-qs-mergemaster">
<para>Update and merge configuration files in <para>Update and merge configuration files in
<filename>/etc/</filename>.</para> <filename>/etc/</filename>.</para>
</callout> </callout>
@ -1169,12 +1152,6 @@ before running "/usr/sbin/freebsd-update install"</screen>
<sect2 xml:id="updating-src-preparing"> <sect2 xml:id="updating-src-preparing">
<title>Preparing for a Source Update</title> <title>Preparing for a Source Update</title>
<para>If this is the first time that a source update has
ever been done on this computer, run
<command>etcupdate extract</command> to create a record of
system settings for later update and merging. This step only
needs to be done once on a particular computer.</para>
<para>Read <filename>/usr/src/UPDATING</filename>. Any manual <para>Read <filename>/usr/src/UPDATING</filename>. Any manual
steps that must be performed before or after an update are steps that must be performed before or after an update are
described in this file.</para> described in this file.</para>
@ -1324,12 +1301,10 @@ Working Copy Root Path: /usr/src
previously-compiled code in the temporary object directory, previously-compiled code in the temporary object directory,
<filename>/usr/obj</filename>. This can speed up later <filename>/usr/obj</filename>. This can speed up later
builds by avoiding recompiling code that has not changed. builds by avoiding recompiling code that has not changed.
To force a clean rebuild of everything, remove To force a clean rebuild of everything, use
<filename>/usr/obj</filename> before starting a build. <buildtarget>cleanworld</buildtarget> before starting a build:</para>
This is roughly equivalent to performing a
<command>make clean</command>, but much faster:</para>
<screen>&prompt.root; <userinput>rm -rf /usr/obj/*</userinput></screen> <screen>&prompt.root; <userinput>make cleanworld</userinput></screen>
</sect3> </sect3>
<sect3 xml:id="updating-src-building-jobs"> <sect3 xml:id="updating-src-building-jobs">
@ -1354,14 +1329,6 @@ Working Copy Root Path: /usr/src
</example> </example>
</sect3> </sect3>
<sect3 xml:id="updating-src-building-go-fast">
<title>go-fast</title>
<para>Go-fast: Describe other go-fast options like NO_CLEAN
here. Preferably avoid having different sections for
different versions of &os;.</para>
</sect3>
<sect3 xml:id="updating-src-building-only-kernel"> <sect3 xml:id="updating-src-building-only-kernel">
<title>Building Only the Kernel</title> <title>Building Only the Kernel</title>
@ -1454,22 +1421,23 @@ Working Copy Root Path: /usr/src
libraries are located and removed, then the system is libraries are located and removed, then the system is
restarted.</para> restarted.</para>
<sect3 xml:id="updating-src-completing-merge-etcupdate"> <sect3 xml:id="updating-src-completing-merge-mergemaster">
<title>Merging Configuration Files with <title>Merging Configuration Files with
<application>etcupdate</application></title> &man.mergemaster.8;</title>
<para><application>etcupdate</application> provides an easy <para>&man.mergemaster.8; provides an easy
way to merge changes that have been made to system way to merge changes that have been made to system
configuration files with new versions of those files.</para> configuration files with new versions of those files.</para>
<para><command>etcupdate</command></para> <para>With <option>-Ui</option>, &man.mergemaster.8;
</sect3> automatically updates files that have not been user-modified
and installs new files that are not already present:</para>
<sect3 xml:id="updating-src-completing-merge-mergemaster"> <screen>&prompt.root; <userinput>mergemaster -Ui</userinput></screen>
<title xml:id="mergemaster">Merging Configuration Files with
<application>mergemaster</application></title>
<para><command>mergemaster -Ui</command></para> <para>If a file must be manually merged, an interactive
display allows the user to choose which portions of the files are
kept. See &man.mergemaster.8; for more information.</para>
</sect3> </sect3>
<sect3 xml:id="updating-src-completing-check-old"> <sect3 xml:id="updating-src-completing-check-old">