Date: Thu, 6 Feb 2014 17:44:01 +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: r43809 - head/en_US.ISO8859-1/books/handbook/cutting-edge Message-ID: <201402061744.s16Hi13Y047140@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dru Date: Thu Feb 6 17:44:01 2014 New Revision: 43809 URL: http://svnweb.freebsd.org/changeset/doc/43809 Log: White space fix only. Translators can ignore. 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 Feb 6 17:43:17 2014 (r43808) +++ head/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml Thu Feb 6 17:44:01 2014 (r43809) @@ -1546,9 +1546,10 @@ before running "/usr/sbin/freebsd-update <step> <para>If the build world process has previously been run on this system, a copy of the previous build may still exist - in <filename class="directory">/usr/obj</filename>. To speed up the new build world - process, and possibly save some dependency headaches, - remove this directory if it already exists:</para> + in <filename class="directory">/usr/obj</filename>. To + speed up the new build world process, and possibly save + some dependency headaches, remove this directory if it + already exists:</para> <screen>&prompt.root; <userinput>cd /usr/obj</userinput> &prompt.root; <userinput>chflags -R noschg *</userinput> @@ -1556,10 +1557,10 @@ before running "/usr/sbin/freebsd-update </step> <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> + <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> @@ -1605,22 +1606,26 @@ before running "/usr/sbin/freebsd-update </step> <step> - <para>Then, for either file system, if the <acronym>CMOS</acronym> clock is set to local time - (this is true if the output of &man.date.1; does not show - the correct time and zone), run:</para> + <para>Then, for either file system, if the + <acronym>CMOS</acronym> clock is set to local time (this + is true if the output of &man.date.1; does not show the + correct time and zone), run:</para> <screen>&prompt.root; <userinput>adjkerntz -i</userinput></screen> </step> <step> - <para>Next, perform some initial configuration file updates to <filename class="directory">/etc</filename> - in preparation for the new world. The following command compares - only those files that are essential for the success of - <buildtarget>installworld</buildtarget>. For instance, this step - may add new groups, system accounts, or startup scripts 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 any new system accounts, groups, and scripts.</para> + <para>Next, perform some initial configuration file updates + to <filename class="directory">/etc</filename> in + preparation for the new world. The following command + compares only those files that are essential for the + success of <buildtarget>installworld</buildtarget>. For + instance, this step may add new groups, system accounts, + or startup scripts 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 any new system accounts, groups, and + scripts.</para> <screen>&prompt.root; <userinput>mergemaster -p</userinput></screen> </step> @@ -1663,18 +1668,17 @@ before running "/usr/sbin/freebsd-update <screen>&prompt.root; <userinput>make delete-old-libs</userinput></screen> </step> </procedure> - - <indexterm><primary>single-user mode</primary></indexterm> - <para>If the system can have a window of down-time, consider compiling the system in single user mode instead - of compiling the system in multi-user - mode, and then dropping into single user mode for the - installation. - Reinstalling the system touches a lot of important system - files, all the standard system binaries, libraries, and - include files. Changing these on a running system, - particularly one with active users, is asking for - trouble.</para> + <indexterm><primary>single-user mode</primary></indexterm> + + <para>If the system can have a window of down-time, consider + compiling the system in single user mode instead of compiling + the system in multi-user mode, and then dropping into + single user mode for the installation. Reinstalling the + system touches a lot of important system files, all the + standard system binaries, libraries, and include files. + Changing these on a running system, particularly one with + active users, is asking for trouble.</para> </sect2> <sect2 xml:id="src-updating"> @@ -1689,14 +1693,14 @@ before running "/usr/sbin/freebsd-update <para>The options available to &man.make.1; are described in &man.make.conf.5; and some common examples are included in - <filename>/usr/share/examples/etc/make.conf</filename>. - Any options which are added to <filename>/etc/make.conf</filename> + <filename>/usr/share/examples/etc/make.conf</filename>. Any + options which are added to <filename>/etc/make.conf</filename> will control the way &man.make.1; runs and how it builds - programs. Such options take - effect every time &man.make.1; is used, including compiling - applications from the Ports Collection, compiling custom C - programs, or building the &os; operating system.</para> - + programs. Such options take effect every time &man.make.1; is + used, including compiling applications from the Ports + Collection, compiling custom C programs, or building the &os; + operating system.</para> + <para>Changes to some settings can have far-reaching and potentially surprising effects. Read the comments in both locations and keep in mind that the defaults have been chosen @@ -1706,8 +1710,8 @@ before running "/usr/sbin/freebsd-update <primary><filename>src.conf</filename></primary> </indexterm> - <para>How - the operating system is built from source code is controlled by <filename>/etc/src.conf</filename>. Unlike + <para>How the operating system is built from source code is + controlled by <filename>/etc/src.conf</filename>. Unlike <filename>/etc/make.conf</filename>, the contents of <filename>/etc/src.conf</filename> only take effect when the &os; operating system itself is being built. Descriptions of @@ -1715,24 +1719,23 @@ before running "/usr/sbin/freebsd-update &man.src.conf.5;. Be cautious about disabling seemingly unneeded kernel modules and build options. Sometimes there are unexpected or subtle interactions.</para> - </sect2> + </sect2> <sect2 xml:id="make-buildworld"> <title>Recompile the Base System</title> - <para>It is a good idea to save the output from running - &man.make.1; to a file. If something goes wrong, a copy of - the error message can be posted to one of the &os; mailing - lists.</para> - - <para>The easiest way to do this is to use &man.script.1; - with a parameter that specifies the name of the file to save - all output to. Run this command immediately before - rebuilding the world, and then type - <userinput>exit</userinput> when the process has - finished:</para> + <para>It is a good idea to save the output from running + &man.make.1; to a file. If something goes wrong, a copy of + the error message can be posted to one of the &os; mailing + lists.</para> + + <para>The easiest way to do this is to use &man.script.1; with a + parameter that specifies the name of the file to save all + output to. Run this command immediately before rebuilding + the world, and then type <userinput>exit</userinput> when the + process has finished:</para> - <screen>&prompt.root; <userinput>script /var/tmp/mw.out</userinput> + <screen>&prompt.root; <userinput>script /var/tmp/mw.out</userinput> Script started, output file is /var/tmp/mw.out &prompt.root; <userinput>make TARGET</userinput> <emphasis>… compile, compile, compile …</emphasis> @@ -2345,10 +2348,9 @@ Script done, …</screen> change?</term> <listitem> - <para>It depends upon the nature - of the change. For example, if - <application>svn</application> only shows the following - files as being updated:</para> + <para>It depends upon the nature of the change. For + example, if <application>svn</application> only shows + the following files as being updated:</para> <screen><filename>src/games/cribbage/instr.c</filename> <filename>src/games/sail/pl_main.c</filename> @@ -2363,68 +2365,68 @@ Script done, …</screen> <filename>src/lib/libc/stdlib</filename>, consider rebuilding world.</para> - <para>Some users - rebuild world every fortnight and let changes - accumulate over that fortnight. Others only re-make - those things that have changed and are careful to spot - all the dependencies. It all depends on how often a user wants to upgrade - and whether they are tracking &os.stable; or - &os.current;.</para> + <para>Some users rebuild world every fortnight and let + changes accumulate over that fortnight. Others only + re-make those things that have changed and are careful + to spot all the dependencies. It all depends on how + often a user wants to upgrade and whether they are + tracking &os.stable; or &os.current;.</para> </listitem> </varlistentry> <varlistentry> - <term>What would cause a compile to fail with lots of - signal 11<indexterm> - <primary>signal 11</primary> - </indexterm> - (or other signal number) errors?</term> + <term>What would cause a compile to fail with lots of + signal 11<indexterm> + <primary>signal 11</primary> + </indexterm> + (or other signal number) errors?</term> <listitem> <para>This normally indicates a hardware problem. Building world is an effective way to stress test - hardware, especially memory. A sure indicator of a hardware issue is when - <application>make</application> is restarted and it - dies at a different point in the process.</para> - - <para>To resolve this error, swap out the - components in the machine, starting with RAM, to determine which component is - failing.</para> + hardware, especially memory. A sure indicator of a + hardware issue is when <application>make</application> + is restarted and it dies at a different point in the + process.</para> + + <para>To resolve this error, swap out the components in + the machine, starting with RAM, to determine which + component is failing.</para> </listitem> </varlistentry> <varlistentry> - <term>Can <filename class="directory">/usr/obj</filename> + <term>Can <filename class="directory">/usr/obj</filename> be removed when finished?</term> <listitem> - - <para>This directory - contains all the object files that were produced during - the compilation phase. Normally, one of the first steps - in the <command>make buildworld</command> process is to - remove this directory and start afresh. Keeping - <filename>/usr/obj</filename> around - when finished makes little sense, and its removal frees - up a approximately 2GB of disk space.</para> + <para>This directory contains all the object files that + were produced during the compilation phase. Normally, + one of the first steps in the <command>make + buildworld</command> process is to remove this + directory and start afresh. Keeping + <filename>/usr/obj</filename> around when finished makes + little sense, and its removal frees up a approximately + 2GB of disk space.</para> </listitem> </varlistentry> <varlistentry> - <term>Can interrupted builds be resumed?</term> + <term>Can interrupted builds be resumed?</term> <listitem> <para>This depends on how far into the process the - problem occurs. In general, <command>make buildworld</command> - builds new copies of essential tools and the system libraries. - These tools and libraries are then installed, used to - rebuild themselves, and are installed again. The rest of the - system is then rebuilt with the new - system tools.</para> + problem occurs. In general, <command>make + buildworld</command> builds new copies of essential + tools and the system libraries. These tools and + libraries are then installed, used to rebuild + themselves, and are installed again. The rest of the + system is then rebuilt with the new system + tools.</para> <para>During the last stage, it is fairly safe to run - these commands as they will not undo the work of the previous - <command>make buildworld</command>:</para> + these commands as they will not undo the work of the + previous <command>make buildworld</command>:</para> <screen>&prompt.root; <userinput>cd /usr/src</userinput> &prompt.root; <userinput>make -DNO_CLEAN all</userinput></screen> @@ -2438,76 +2440,78 @@ Building everything.. <para>in the <command>make buildworld</command> output, it is probably fairly safe to do so.</para> - <para>If that message is not displayed, - it is always better to be safe than sorry and to - restart the build from scratch.</para> + <para>If that message is not displayed, it is always + better to be safe than sorry and to restart the build + from scratch.</para> </listitem> </varlistentry> <varlistentry> - <term>Is it possible to speed up making the world?</term> + <term>Is it possible to speed up making the world?</term> <listitem> - <para>Several actions can speed up the build world - process. For example, the entire process can be run from - single-user mode. However, this will prevent users - from having access - to the system until the process is complete.</para> - - <para>Careful file system design or the use of ZFS - datasets can make a difference. Consider putting <filename class="directory">/usr/src</filename> and - <filename class="directory">/usr/obj</filename> - on separate file systems. If possible, place the file systems on separate disks on separate disk - controllers. When mounting - <filename class="directory">/usr/src</filename>, use - <option>noatime</option> which - prevents the file system from recording the - file access time. If <filename - class="directory">/usr/src</filename> is not on its - own file system, consider remounting <filename - class="directory">/usr</filename> with <option>noatime</option>.</para> - - <para>The file system holding - <filename>/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> - - <warning> - <para>Keep in mind that this option makes the file - system more fragile. With this option, there is - an increased chance that, should power fail, the - file system will be in an unrecoverable state when - the 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> - </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> - </listitem> + <para>Several actions can speed up the build world + process. For example, the entire process can be run + from single-user mode. However, this will prevent users + from having access to the system until the process is + complete.</para> + + <para>Careful file system design or the use of ZFS + datasets can make a difference. Consider putting + <filename class="directory">/usr/src</filename> and + <filename class="directory">/usr/obj</filename> on + separate file systems. If possible, place the file + systems on separate disks on separate disk controllers. + When mounting <filename + class="directory">/usr/src</filename>, use + <option>noatime</option> which prevents the file system + from recording the file access time. If <filename + class="directory">/usr/src</filename> is not on its + own file system, consider remounting <filename + class="directory">/usr</filename> with + <option>noatime</option>.</para> + + <para>The file system holding + <filename>/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> + + <warning> + <para>Keep in mind that this option makes the file + system more fragile. With this option, there is an + increased chance that, should power fail, the file + system will be in an unrecoverable state when the + 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> + </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> + </listitem> </varlistentry> <varlistentry> - <term>What if something goes wrong?</term> + <term>What if something goes wrong?</term> <listitem> - <para>First, make absolutely sure that the environment has no - extraneous cruft from earlier builds:</para> + <para>First, make absolutely sure that the environment has + no extraneous cruft from earlier builds:</para> <screen>&prompt.root; <userinput>chflags -R noschg /usr/obj/usr</userinput> &prompt.root; <userinput>rm -rf /usr/obj/usr</userinput> @@ -2518,12 +2522,12 @@ Building everything.. <para>Yes, <command>make cleandir</command> really should be run twice.</para> - <para>Then, restart the whole process, starting - with <command>make buildworld</command>.</para> + <para>Then, restart the whole process, starting with + <command>make buildworld</command>.</para> - <para>If problems persist, send the error and the - output of <command>uname -a</command> to &a.questions;. - Be prepared to answer other questions about the + <para>If problems persist, send the error and the output + of <command>uname -a</command> to &a.questions;. Be + prepared to answer other questions about the setup!</para> </listitem> </varlistentry>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201402061744.s16Hi13Y047140>