From owner-svn-doc-head@FreeBSD.ORG Thu Feb 6 17:44:02 2014 Return-Path: Delivered-To: svn-doc-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1FCE87C5; Thu, 6 Feb 2014 17:44:02 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id F0070115B; Thu, 6 Feb 2014 17:44:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s16Hi1mV047141; Thu, 6 Feb 2014 17:44:01 GMT (envelope-from dru@svn.freebsd.org) Received: (from dru@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s16Hi13Y047140; Thu, 6 Feb 2014 17:44:01 GMT (envelope-from dru@svn.freebsd.org) Message-Id: <201402061744.s16Hi13Y047140@svn.freebsd.org> From: Dru Lavigne Date: Thu, 6 Feb 2014 17:44:01 +0000 (UTC) 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 X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the doc tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Feb 2014 17:44:02 -0000 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 If the build world process has previously been run on this system, a copy of the previous build may still exist - in /usr/obj. To speed up the new build world - process, and possibly save some dependency headaches, - remove this directory if it already exists: + in /usr/obj. To + speed up the new build world process, and possibly save + some dependency headaches, remove this directory if it + already exists: &prompt.root; cd /usr/obj &prompt.root; chflags -R noschg * @@ -1556,10 +1557,10 @@ before running "/usr/sbin/freebsd-update - 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 - /usr/obj. + 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 /usr/obj. &prompt.root; cd /usr/src &prompt.root; make buildworld @@ -1605,22 +1606,26 @@ before running "/usr/sbin/freebsd-update - Then, for either file system, if the CMOS 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: + Then, for either file system, if the + CMOS 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: &prompt.root; adjkerntz -i - Next, perform some initial configuration file updates to /etc - in preparation for the new world. The following command compares - only those files that are essential for the success of - installworld. 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 installworld step will - be able to use any new system accounts, groups, and scripts. + Next, perform some initial configuration file updates + to /etc in + preparation for the new world. The following command + compares only those files that are essential for the + success of installworld. 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 + installworld step will be able + to use any new system accounts, groups, and + scripts. &prompt.root; mergemaster -p @@ -1663,18 +1668,17 @@ before running "/usr/sbin/freebsd-update &prompt.root; make delete-old-libs - - single-user mode - 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. + single-user mode + + 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. @@ -1689,14 +1693,14 @@ before running "/usr/sbin/freebsd-update The options available to &man.make.1; are described in &man.make.conf.5; and some common examples are included in - /usr/share/examples/etc/make.conf. - Any options which are added to /etc/make.conf + /usr/share/examples/etc/make.conf. Any + options which are added to /etc/make.conf 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. - + 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. + 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 src.conf - How - the operating system is built from source code is controlled by /etc/src.conf. Unlike + How the operating system is built from source code is + controlled by /etc/src.conf. Unlike /etc/make.conf, the contents of /etc/src.conf 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. - + Recompile the Base System - 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. - - 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 - exit when the process has - finished: + 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. + + 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 exit when the + process has finished: - &prompt.root; script /var/tmp/mw.out + &prompt.root; script /var/tmp/mw.out Script started, output file is /var/tmp/mw.out &prompt.root; make TARGET … compile, compile, compile … @@ -2345,10 +2348,9 @@ Script done, … change? - It depends upon the nature - of the change. For example, if - svn only shows the following - files as being updated: + It depends upon the nature of the change. For + example, if svn only shows + the following files as being updated: src/games/cribbage/instr.c src/games/sail/pl_main.c @@ -2363,68 +2365,68 @@ Script done, … src/lib/libc/stdlib, consider rebuilding world. - 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;. + 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;. - What would cause a compile to fail with lots of - signal 11 - signal 11 - - (or other signal number) errors? + What would cause a compile to fail with lots of + signal 11 + signal 11 + + (or other signal number) errors? 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 - make is restarted and it - dies at a different point in the process. - - To resolve this error, swap out the - components in the machine, starting with RAM, to determine which component is - failing. + hardware, especially memory. A sure indicator of a + hardware issue is when make + is restarted and it dies at a different point in the + process. + + To resolve this error, swap out the components in + the machine, starting with RAM, to determine which + component is failing. - Can /usr/obj + Can /usr/obj be removed when finished? - - This directory - contains all the object files that were produced during - the compilation phase. Normally, one of the first steps - in the make buildworld process is to - remove this directory and start afresh. Keeping - /usr/obj around - when finished makes little sense, and its removal frees - up a approximately 2GB of disk space. + This directory contains all the object files that + were produced during the compilation phase. Normally, + one of the first steps in the make + buildworld process is to remove this + directory and start afresh. Keeping + /usr/obj around when finished makes + little sense, and its removal frees up a approximately + 2GB of disk space. - Can interrupted builds be resumed? + Can interrupted builds be resumed? This depends on how far into the process the - problem occurs. In general, make buildworld - 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. + problem occurs. In general, make + buildworld 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. During the last stage, it is fairly safe to run - these commands as they will not undo the work of the previous - make buildworld: + these commands as they will not undo the work of the + previous make buildworld: &prompt.root; cd /usr/src &prompt.root; make -DNO_CLEAN all @@ -2438,76 +2440,78 @@ Building everything.. in the make buildworld output, it is probably fairly safe to do so. - If that message is not displayed, - it is always better to be safe than sorry and to - restart the build from scratch. + If that message is not displayed, it is always + better to be safe than sorry and to restart the build + from scratch. - Is it possible to speed up making the world? + Is it possible to speed up making the world? - 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. - - Careful file system design or the use of ZFS - datasets can make a difference. Consider putting /usr/src and - /usr/obj - on separate file systems. If possible, place the file systems on separate disks on separate disk - controllers. When mounting - /usr/src, use - which - prevents the file system from recording the - file access time. If /usr/src is not on its - own file system, consider remounting /usr with . - - The file system holding - /usr/obj can be mounted or - remounted with 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. - - - 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. - - If /usr/obj 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. - - - Turn off profiling by setting - NO_PROFILE=true in - /etc/make.conf. - - Pass - - to &man.make.1; to run multiple processes in - parallel. This usually helps on both single- and - multi-processor machines. - + 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. + + Careful file system design or the use of ZFS + datasets can make a difference. Consider putting + /usr/src and + /usr/obj on + separate file systems. If possible, place the file + systems on separate disks on separate disk controllers. + When mounting /usr/src, use + which prevents the file system + from recording the file access time. If /usr/src is not on its + own file system, consider remounting /usr with + . + + The file system holding + /usr/obj can be mounted or + remounted with 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. + + + 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. + + If /usr/obj 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. + + + Turn off profiling by setting + NO_PROFILE=true in + /etc/make.conf. + + Pass + to + &man.make.1; to run multiple processes in parallel. + This usually helps on both single- and + multi-processor machines. + - What if something goes wrong? + What if something goes wrong? - First, make absolutely sure that the environment has no - extraneous cruft from earlier builds: + First, make absolutely sure that the environment has + no extraneous cruft from earlier builds: &prompt.root; chflags -R noschg /usr/obj/usr &prompt.root; rm -rf /usr/obj/usr @@ -2518,12 +2522,12 @@ Building everything.. Yes, make cleandir really should be run twice. - Then, restart the whole process, starting - with make buildworld. + Then, restart the whole process, starting with + make buildworld. - If problems persist, send the error and the - output of uname -a to &a.questions;. - Be prepared to answer other questions about the + If problems persist, send the error and the output + of uname -a to &a.questions;. Be + prepared to answer other questions about the setup!