r984 - html/trunk/lfs

bdubbs at linuxfromscratch.org bdubbs at linuxfromscratch.org
Sun Nov 23 11:59:13 PST 2008


Author: bdubbs
Date: 2008-11-23 12:59:13 -0700 (Sun, 23 Nov 2008)
New Revision: 984

Modified:
   html/trunk/lfs/faq.html
   html/trunk/lfs/read.html
Log:
Added a note to read.html to indicate that there is a wget
list available.  Also added a faq entry about the same topic.

Modified: html/trunk/lfs/faq.html
===================================================================
--- html/trunk/lfs/faq.html	2008-11-23 16:42:14 UTC (rev 983)
+++ html/trunk/lfs/faq.html	2008-11-23 19:59:13 UTC (rev 984)
@@ -7,465 +7,477 @@
 
       <h3><a href="#fre">Frequently Requested Enhancements</a></h3>
       <ul>
-	<li><a href="#add-grub">Why not use LILO instead of GRUB?</a></li>
-	<li><a href="#why-not-new-lilo">Why not upgrade LILO to the latest version?</a></li>
-	<li><a href="#why-not-faq">Why not include the FAQ in the book?</a></li>
-	<li><a href="#why-vim">Why is vim in the book?</a></li>
-	<li><a href="#hjl-binutils">Why is HJL's Binutils not in the book?</a></li>
-	<li><a href="#why-not-package-management">Why isn't some package manager in the book?</a></li>
-	<li><a href="#no-poweroff">How do I make my machine poweroff when shut down?</a></li>
+        <li><a href="#add-grub">Why not use LILO instead of GRUB?</a></li>
+        <li><a href="#why-not-new-lilo">Why not upgrade LILO to the latest version?</a></li>
+        <li><a href="#why-not-faq">Why not include the FAQ in the book?</a></li>
+        <li><a href="#why-vim">Why is vim in the book?</a></li>
+        <li><a href="#hjl-binutils">Why is HJL's Binutils not in the book?</a></li>
+        <li><a href="#why-not-package-management">Why isn't some package manager in the book?</a></li>
+        <li><a href="#no-poweroff">How do I make my machine poweroff when shut down?</a></li>
       </ul>
       <h3><a href="#resources">When reading and building LFS</a></h3>
       <ul>
-	<li><a href="#what-dist">What distribution should I use to start from?</a></li>
-	<li><a href="#kernel-modules">How do I compile a kernel or set up modules?</a></li>
-	<li><a href="#gcc-warnings">Are compiler warnings from GCC bad?</a></li>
-	<li><a href="#dirty-sources">Do I need to keep the source after installing?</a></li>
-	<li><a href="#really-small">How do I make that really small install the book mentions?</a></li>
-	<li><a href="#procs-lfs">Is there information about building LFS on other processors?</a></li>
-	<li><a href="#cross-compile">How do I cross compile LFS?</a></li>
-	<li><a href="#dos-text">What's a DOS format text file?</a></li>
+        <li><a href="#what-dist">What distribution should I use to start from?</a></li>
+        <li><a href="#kernel-modules">How do I compile a kernel or set up modules?</a></li>
+        <li><a href="#gcc-warnings">Are compiler warnings from GCC bad?</a></li>
+        <li><a href="#dirty-sources">Do I need to keep the source after installing?</a></li>
+        <li><a href="#really-small">How do I make that really small install the book mentions?</a></li>
+        <li><a href="#procs-lfs">Is there information about building LFS on other processors?</a></li>
+        <li><a href="#cross-compile">How do I cross compile LFS?</a></li>
+        <li><a href="#dos-text">What's a DOS format text file?</a></li>
+        <li><a href="#wget">Is there a way to download all current files at one time?</a></li>
       </ul>
       <h3><a href="#generrors">General compilation errors</a></h3>
       <ul>
-	<li><a href="#gnu-patches">I used a patch from GNU to upgrade. Is that OK?</a></li>
-	<li><a href="#optimizations">When using optimization flags (setting CFLAGS)</a></li>
-	<li><a href="#config-hang-size_t">Why does configure hang at "checking for signed size_t type..."?</a></li>
-	<li><a href="#dirty-sources">I didn't delete the source tree after my last attempt. Do I need to?</a></li>
-	<li><a href="#perm-denied">I'm getting `/dev/null: Permission denied'</a></li>
-	<li><a href="#sig11">signal 11 (internal error: Segmentation fault)</a></li>
-	<li><a href="#any-no-such-file">No such file or directory</a></li>
-	<li><a href="#configure-no-such-file">bash: ./configure: No such file or directory</a></li>
-	<li><a href="#bad-interpreter-permission-denied">./configure: bad interpreter: Permission denied</a></li>
-	<li><a href="#conf-guess-fail">configure can't guess my host type.</a></li>
-	<li><a href="#config-not-gnu-c">checking whether we are using GNU C... no</a></li>
+        <li><a href="#gnu-patches">I used a patch from GNU to upgrade. Is that OK?</a></li>
+        <li><a href="#optimizations">When using optimization flags (setting CFLAGS)</a></li>
+        <li><a href="#config-hang-size_t">Why does configure hang at "checking for signed size_t type..."?</a></li>
+        <li><a href="#dirty-sources">I didn't delete the source tree after my last attempt. Do I need to?</a></li>
+        <li><a href="#perm-denied">I'm getting `/dev/null: Permission denied'</a></li>
+        <li><a href="#sig11">signal 11 (internal error: Segmentation fault)</a></li>
+        <li><a href="#any-no-such-file">No such file or directory</a></li>
+        <li><a href="#configure-no-such-file">bash: ./configure: No such file or directory</a></li>
+        <li><a href="#bad-interpreter-permission-denied">./configure: bad interpreter: Permission denied</a></li>
+        <li><a href="#conf-guess-fail">configure can't guess my host type.</a></li>
+        <li><a href="#config-not-gnu-c">checking whether we are using GNU C... no</a></li>
         <li><a href="#no-ptys">The system has no more ptys.  Ask your system administrator to create more.</a></li>
       </ul>
       <h3><a href="#packerrors">Package-specific errors</a></h3>
       <ul>
-	<li><a href="#unknown-pseudo-op-hidden">GCC: Error: Unknown pseudo-op: `.hidden'</a></li>
-	<li><a href="#no-linuxthreads">Glibc: "... it is normal to compile GNU libc with the `linuxthreads' add-on..."</a></li>
-	<li><a href="#glibc-awk-fail">Glibc fails and mentions BEGIN and END.</a></li>
-	<li><a href="#glibc-nss">Glibc compilation errors out due to a missing nss.h header file</a></li>
-	<li><a href="#cpp-fails-sanity-check">Ncurses: C++ preprocessor "/lib/cpp" fails sanity check</a></li>
+        <li><a href="#unknown-pseudo-op-hidden">GCC: Error: Unknown pseudo-op: `.hidden'</a></li>
+        <li><a href="#no-linuxthreads">Glibc: "... it is normal to compile GNU libc with the `linuxthreads' add-on..."</a></li>
+        <li><a href="#glibc-awk-fail">Glibc fails and mentions BEGIN and END.</a></li>
+        <li><a href="#glibc-nss">Glibc compilation errors out due to a missing nss.h header file</a></li>
+        <li><a href="#cpp-fails-sanity-check">Ncurses: C++ preprocessor "/lib/cpp" fails sanity check</a></li>
       </ul>
       <h3><a href="#confboot">Configuration and booting issues</a></h3>
       <ul>
-	<li><a href="#unable-to-mount-root">Kernel panic: VFS: unable to mount root fs</a></li>
-	<li><a href="#respawning-too-fast">init: Id "1" respawning too fast: disabled for 5 minutes</a></li>
-	<li><a href="#char-major-10-135">modprobe: Can't locate module char-major-10-135</a></li>
-	<li><a href="#no-dev-rtc">modprobe: Can't locate module /dev/rtc</a></li>
-	<li><a href="#eth0-unknown-interface">eth0:unknown interface</a></li>
-	<li><a href="#spurious-8259A-interrupt">spurious 8259A interrupt: IRQ14</a></li>
-	<li><a href="#less-prints-ad">Why does less (and therefore man) print <AD> instead of hyphens?</a></li>
+        <li><a href="#unable-to-mount-root">Kernel panic: VFS: unable to mount root fs</a></li>
+        <li><a href="#respawning-too-fast">init: Id "1" respawning too fast: disabled for 5 minutes</a></li>
+        <li><a href="#char-major-10-135">modprobe: Can't locate module char-major-10-135</a></li>
+        <li><a href="#no-dev-rtc">modprobe: Can't locate module /dev/rtc</a></li>
+        <li><a href="#eth0-unknown-interface">eth0:unknown interface</a></li>
+        <li><a href="#spurious-8259A-interrupt">spurious 8259A interrupt: IRQ14</a></li>
+        <li><a href="#less-prints-ad">Why does less (and therefore man) print <AD> instead of hyphens?</a></li>
       </ul>
       <div class="newsItem"></div>
 
       <h3 id="fre">Frequently Requested Enhancements</h3>
       <dl>
-	<dt id="add-grub">Why not use LILO instead of GRUB?</dt>
-	<dd>
-	  <p>Since LFS-5.0, released 5 November 2003, LFS uses Grub instead of Lilo. Grub was chosen because it doesn't require reinstallation after a kernel upgrade and has a very nice rescue console. </p>
-	  <p> If your current setup uses LILO or you'd like to use it anyway, you can, but beware you will also need to install BIN86 and, for the latest LILO versions, NASM. However, don't preach about it on the LFS mailinglists, since we've had many flamewars about it in the past. </p>
-	</dd>
-	<dt id="why-not-faq">Why not include the FAQ in the book?</dt>
-	<dd>
-	  <p>Marc Heerdink may have said it best in a post to lfs-dev:</p>
-	  <blockquote><p>The problem is that the FAQ is a dynamic document. The FAQ for a book release is released only after the book version itself, because the FAQ is updated to reflect the Qs asked about the current version of the book. A link is better, since you'll always have the most up-to-date answers handy.</p></blockquote>
-	</dd>
-	<dt id="why-vim">Why is vim in the book?</dt>
-	<dd>
-	  <p>This is fairly well discussed in the thread starting at <a href="http://linuxfromscratch.org/pipermail/lfs-dev/2002-February/023030.html">http://linuxfromscratch.org/pipermail/lfs-dev/2002-February/023030.html</a>.</p>
-	</dd>
-	<dt id="hjl-binutils">Why is HJL's Binutils not in the book?</dt>
-	<dd>
-	  <p>The binutils release that you typically find on ftp.gnu.org is commonly known as the "FSF" binutils. Noted hacker H.J. Lu also makes releases out of the main CVS repository and these are commonly known as the "HJL" binutils and can usually be found on ftp.kernel.org. Debate often arises over which version to use due to the fact that most mainstream distros tend to use the HJL releases even though they are typically marked as "beta".</p>
-	  <p>Here is our interpretation of the differences between the two:</p>
-	  <h4>HJL:</h4>
-	  <ul>
-	    <li>For Linux OS only</li>
-	    <li>Marked as "beta"</li>
-	    <li>Closely follows the CVS HEAD</li>
-	    <li>Usually contains the latest subtle bug fixes</li>
-	    <li>Usually has latest bug fixes for non-x86 arch's</li>
-	    <li>Usually a new release every time a significant bug that affects Linux gets fixed</li>
-	    <li>Theoretically less stable due to newness of code</li>
-	  </ul>
-	  <h4>FSF:</h4>
+        <dt id="add-grub">Why not use LILO instead of GRUB?</dt>
+        <dd>
+          <p>Since LFS-5.0, released 5 November 2003, LFS uses Grub instead of Lilo. Grub was chosen because it doesn't require reinstallation after a kernel upgrade and has a very nice rescue console. </p>
+          <p> If your current setup uses LILO or you'd like to use it anyway, you can, but beware you will also need to install BIN86 and, for the latest LILO versions, NASM. However, don't preach about it on the LFS mailinglists, since we've had many flamewars about it in the past. </p>
+        </dd>
+        <dt id="why-not-faq">Why not include the FAQ in the book?</dt>
+        <dd>
+          <p>Marc Heerdink may have said it best in a post to lfs-dev:</p>
+          <blockquote><p>The problem is that the FAQ is a dynamic document. The FAQ for a book release is released only after the book version itself, because the FAQ is updated to reflect the Qs asked about the current version of the book. A link is better, since you'll always have the most up-to-date answers handy.</p></blockquote>
+        </dd>
+        <dt id="why-vim">Why is vim in the book?</dt>
+        <dd>
+          <p>This is fairly well discussed in the thread starting at <a href="http://linuxfromscratch.org/pipermail/lfs-dev/2002-February/023030.html">http://linuxfromscratch.org/pipermail/lfs-dev/2002-February/023030.html</a>.</p>
+        </dd>
+        <dt id="hjl-binutils">Why is HJL's Binutils not in the book?</dt>
+        <dd>
+          <p>The binutils release that you typically find on ftp.gnu.org is commonly known as the "FSF" binutils. Noted hacker H.J. Lu also makes releases out of the main CVS repository and these are commonly known as the "HJL" binutils and can usually be found on ftp.kernel.org. Debate often arises over which version to use due to the fact that most mainstream distros tend to use the HJL releases even though they are typically marked as "beta".</p>
+          <p>Here is our interpretation of the differences between the two:</p>
+          <h4>HJL:</h4>
           <ul>
-	    <li>Supports more OS's (not only Linux)</li>
-	    <li>Latest code from the stable branch of CVS</li>
-	    <li>Sometimes not up-to-date WRT to the latest bleeding edge kernel, gcc and glibc subtleties</li>
-	    <li>Often includes features backported from the CVS HEAD after a period of testing</li>
-	    <li>Theoretically more stable</li>
-	  </ul>
-	  <p>You'll notice in the above points words like "usually" and "sometimes". This demonstrates how the situation can be different depending on which particular point in time you happen to be referring to. For example, from time to time there will be a new bleeding edge feature in gcc or glibc that requires support from binutils. During these times you will often hear the developers say "you must be using the latest HJL binutils version x.y.z.a.b".</p>
-	  <p>The only way to correctly choose the most appropriate release to use is to:-</p>
-	  <ul>
-	    <li>Stay abreast of the issues on the project mailing lists of the core toolchain packages</li>
-	    <li>Have a large dose of technical prowess and/or programming talent to understand all the issues</li>
-	    <li>Test like crazy by running the test suites</li>
-	    <li>Test like crazy by building full systems</li>
-	  </ul>
-	  <p>The facts of the matter are that the core toolchain packages are all very tightly bound and must be tested to ensure they work together. You basically have to build a full working distro and test every aspect of it to be fully satisfied.</p>
-	  <p>If you follow the project mailing lists of the core toolchain packages for long enough, you'll soon realise that the developers do not care much whether a particular release of "Package A" works with a particular release of "Package B". In other words, release coordination between the projects is not a priority. In reality, this means that Alan Cox is right when he says that you cannot just go to ftp.gnu.org and grab the latest of everything and always expect it to just work.</p>
-	</dd>
-	<dt id="why-not-package-management">Why isn't some package manager in the book?</dt>
-	<dd>
-	  <p>Package management - beyond that provided by tarballs and makefiles - is beyond the scope of the book. If nothing else does, the number of different "solutions" should hint at some of the reasons.</p>
-	  <p>Here are a few of the options:</p>
-	  <ul>
-	    <li>No package management is really necessary. Unless it is desirable to monitor package file placement minutely, any package large enough to warrent removal for disk space reasons can be installed in /opt as detailed by the FHS (perhaps in /opt/foo-x.x with a link from /opt/foo), and new releases can usually be installed over the old, although major upgrades and libraries are generally best done by rebuilding the system from the bottom up.</li>
-	    <li>RPM, the Redhat Package Manager, is used by a number of distributions. It is available from <a href="http://www.rpm.org/">http://www.rpm.org/</a>, and there is an <a href="../hints/downloads/files/">RPM Hint</a> to help with installation.</li>
-	    <li>There are several implementations of symlink style package management:
-	    <ul>
-	      <li>Epkg is available from <a href="http://www.encap.org/epkg/">http://www.encap.org/epkg/</a>.</li>
-	      <li>Graft is available from <a href="http://www.gormand.com.au/peters/tools/"  >http://www.gormand.com.au/peters/tools/</a>.</li>
-	      <li>GNU Stow is available from <a href="http://www.gnu.org/software/stow/">http://www.gnu.org/software/stow/</a>.</li>
-	      <li>Depot is available from <a href="http://asg.web.cmu.edu/depot/">http://asg.web.cmu.edu/depot/</a>.</li>
-	      <li>And several more are listed in the Graft documentation at <a href="http://www.gormand.com.au/peters/tools/graft/graft.html#research">http://www.gormand.com.au/peters/tools/graft/graft.html#research</a>.</li>
-	    </ul>
-	    </li>
-	    <li>The NetBSD package manager, pkgsrc, is available on other systems including Linux. It is at <a href="ftp://ftp.netbsd.org/pub/NetBSD/packages/bootstrap-pkgsrc/">ftp://ftp.netbsd.org/pub/NetBSD/packages/bootstrap-pkgsrc/</a>.</li>
-	    <li>Originally based on a script written by LFS' own Gerard Beekmans, install-log records a list of files installed by a package as the package is installed. It is available from <a href="http://install-log.sourceforge.net/">http://install-log.sourceforge.net/</a>.</li>
-	    <li>Gerard has since made additions to his script. It is available from <a href="http://linuxfromscratch.org/~gerard/log-install">http://linuxfromscratch.org/~gerard/log-install</a>.</li>
-	    <li>CheckInstall attempts log system calls made by "make install". It is available from <a href="http://asic-linux.com.mx/%7Eizto/checkinstall/">http://asic-linux.com.mx/~izto/checkinstall/</a>.</li>
-	    <li>pkgutils, used by the CRUX distribution, is available from <a href="http://www.fukt.bth.se/%7Eper/pkgutils/">http://www.fukt.bth.se/~per/pkgutils/</a>.</li>
-	    <li>There are some <a href="../hints/downloads/files/">hints</a> available for package managers.</li>
-	  </ul>
-	  <p>If you have an addition to the list, please do email its id, URL, and other information, to the FAQ maintainer or an appropriate LFS mailing list so it can be added here.</p>
-	</dd>
-	<dt id="no-poweroff">How do I make my machine poweroff when shut down?</dt>
-	<dd>
-	  <p>Power Management is a kernel function, you need to enable it in the kernel. In the 2.4 kernel, you have to enable the options for <code>Power Management Support</code> under <code>General Setup</code>. For older machines, you'll probably want the APM options, newer machines often require ACPI. Make sure that either APM or ACPI be enabled in the kernel, but definitely <strong>not</strong> both at the same time - this has been known to cause problems such as neither actually taking effect. Also try disabling SMP if you only have one processor; it's also known to prevent a proper poweroff. Make sure you read the help with each option.</p>
-	  <p>After rebooting into the new kernel you should be able to poweroff your machine with the command <code>shutdown -h now</code> or <code>poweroff</code> (also read <code>man shutdown</code> and <code>man halt</code>). If you compiled APM or ACPI as modules, make sure they are loaded before you try to power off.  Some machines require that APM or ACPI is compiled into the kernel because it needs to be initialised at boottime. </p>
-	</dd>
+            <li>For Linux OS only</li>
+            <li>Marked as "beta"</li>
+            <li>Closely follows the CVS HEAD</li>
+            <li>Usually contains the latest subtle bug fixes</li>
+            <li>Usually has latest bug fixes for non-x86 arch's</li>
+            <li>Usually a new release every time a significant bug that affects Linux gets fixed</li>
+            <li>Theoretically less stable due to newness of code</li>
+          </ul>
+          <h4>FSF:</h4>
+          <ul>
+            <li>Supports more OS's (not only Linux)</li>
+            <li>Latest code from the stable branch of CVS</li>
+            <li>Sometimes not up-to-date WRT to the latest bleeding edge kernel, gcc and glibc subtleties</li>
+            <li>Often includes features backported from the CVS HEAD after a period of testing</li>
+            <li>Theoretically more stable</li>
+          </ul>
+          <p>You'll notice in the above points words like "usually" and "sometimes". This demonstrates how the situation can be different depending on which particular point in time you happen to be referring to. For example, from time to time there will be a new bleeding edge feature in gcc or glibc that requires support from binutils. During these times you will often hear the developers say "you must be using the latest HJL binutils version x.y.z.a.b".</p>
+          <p>The only way to correctly choose the most appropriate release to use is to:-</p>
+          <ul>
+            <li>Stay abreast of the issues on the project mailing lists of the core toolchain packages</li>
+            <li>Have a large dose of technical prowess and/or programming talent to understand all the issues</li>
+            <li>Test like crazy by running the test suites</li>
+            <li>Test like crazy by building full systems</li>
+          </ul>
+          <p>The facts of the matter are that the core toolchain packages are all very tightly bound and must be tested to ensure they work together. You basically have to build a full working distro and test every aspect of it to be fully satisfied.</p>
+          <p>If you follow the project mailing lists of the core toolchain packages for long enough, you'll soon realise that the developers do not care much whether a particular release of "Package A" works with a particular release of "Package B". In other words, release coordination between the projects is not a priority. In reality, this means that Alan Cox is right when he says that you cannot just go to ftp.gnu.org and grab the latest of everything and always expect it to just work.</p>
+        </dd>
+        <dt id="why-not-package-management">Why isn't some package manager in the book?</dt>
+        <dd>
+          <p>Package management - beyond that provided by tarballs and makefiles - is beyond the scope of the book. If nothing else does, the number of different "solutions" should hint at some of the reasons.</p>
+          <p>Here are a few of the options:</p>
+          <ul>
+            <li>No package management is really necessary. Unless it is desirable to monitor package file placement minutely, any package large enough to warrent removal for disk space reasons can be installed in /opt as detailed by the FHS (perhaps in /opt/foo-x.x with a link from /opt/foo), and new releases can usually be installed over the old, although major upgrades and libraries are generally best done by rebuilding the system from the bottom up.</li>
+            <li>RPM, the Redhat Package Manager, is used by a number of distributions. It is available from <a href="http://www.rpm.org/">http://www.rpm.org/</a>, and there is an <a href="../hints/downloads/files/">RPM Hint</a> to help with installation.</li>
+            <li>There are several implementations of symlink style package management:
+            <ul>
+              <li>Epkg is available from <a href="http://www.encap.org/epkg/">http://www.encap.org/epkg/</a>.</li>
+              <li>Graft is available from <a href="http://www.gormand.com.au/peters/tools/"  >http://www.gormand.com.au/peters/tools/</a>.</li>
+              <li>GNU Stow is available from <a href="http://www.gnu.org/software/stow/">http://www.gnu.org/software/stow/</a>.</li>
+              <li>Depot is available from <a href="http://asg.web.cmu.edu/depot/">http://asg.web.cmu.edu/depot/</a>.</li>
+              <li>And several more are listed in the Graft documentation at <a href="http://www.gormand.com.au/peters/tools/graft/graft.html#research">http://www.gormand.com.au/peters/tools/graft/graft.html#research</a>.</li>
+            </ul>
+            </li>
+            <li>The NetBSD package manager, pkgsrc, is available on other systems including Linux. It is at <a href="ftp://ftp.netbsd.org/pub/NetBSD/packages/bootstrap-pkgsrc/">ftp://ftp.netbsd.org/pub/NetBSD/packages/bootstrap-pkgsrc/</a>.</li>
+            <li>Originally based on a script written by LFS' own Gerard Beekmans, install-log records a list of files installed by a package as the package is installed. It is available from <a href="http://install-log.sourceforge.net/">http://install-log.sourceforge.net/</a>.</li>
+            <li>Gerard has since made additions to his script. It is available from <a href="http://linuxfromscratch.org/~gerard/log-install">http://linuxfromscratch.org/~gerard/log-install</a>.</li>
+            <li>CheckInstall attempts log system calls made by "make install". It is available from <a href="http://asic-linux.com.mx/%7Eizto/checkinstall/">http://asic-linux.com.mx/~izto/checkinstall/</a>.</li>
+            <li>pkgutils, used by the CRUX distribution, is available from <a href="http://www.fukt.bth.se/%7Eper/pkgutils/">http://www.fukt.bth.se/~per/pkgutils/</a>.</li>
+            <li>There are some <a href="../hints/downloads/files/">hints</a> available for package managers.</li>
+          </ul>
+          <p>If you have an addition to the list, please do email its id, URL, and other information, to the FAQ maintainer or an appropriate LFS mailing list so it can be added here.</p>
+        </dd>
+        <dt id="no-poweroff">How do I make my machine poweroff when shut down?</dt>
+        <dd>
+          <p>Power Management is a kernel function, you need to enable it in the kernel. In the 2.4 kernel, you have to enable the options for <code>Power Management Support</code> under <code>General Setup</code>. For older machines, you'll probably want the APM options, newer machines often require ACPI. Make sure that either APM or ACPI be enabled in the kernel, but definitely <strong>not</strong> both at the same time - this has been known to cause problems such as neither actually taking effect. Also try disabling SMP if you only have one processor; it's also known to prevent a proper poweroff. Make sure you read the help with each option.</p>
+          <p>After rebooting into the new kernel you should be able to poweroff your machine with the command <code>shutdown -h now</code> or <code>poweroff</code> (also read <code>man shutdown</code> and <code>man halt</code>). If you compiled APM or ACPI as modules, make sure they are loaded before you try to power off.  Some machines require that APM or ACPI is compiled into the kernel because it needs to be initialised at boottime. </p>
+        </dd>
       </dl>
       <p><a href="#lfsfaq">Back to the top.</a></p>
 
       <h3 id="resources">When reading and building LFS</h3>
       <dl>
-	<dt id="what-dist">What distribution should I use to start from?</dt>
-	<dd>
-	  <p>Most relatively recent distributions should be fine. Do not use Fedora Core 4 as its version of GCC does not work with the current stable version of LFS. Make sure you have installed and/or updated the development packages. (Look for ones starting in "gcc", "glibc", or "libstdc++" or ending in "-dev".). If you want to use LFS as your main system and you wish to install it without first installing a distribution, try the <a href="http://www.linuxfromscratch.org/livecd/">LFS LiveCD</a> or <a href="http://www.knopper.net/knoppix/index-en.html">Knoppix</a>.</p>
-	</dd>
-	<dt id="kernel-modules">How do I compile a kernel or set up modules?</dt>
-	<dd>
-	  <p>In addition to the kernel documentation at <a href="file:///usr/src/linux/Documentation">/usr/src/linux/Documentation</a> or wherever you unpacked your kernel source and the help in kernel config tool (make menuconfig), see the Module-HOWTO at <a href="http://www.tldp.org/HOWTO/Module-HOWTO/">http://www.tldp.org/HOWTO/Module-HOWTO/</a>.</p>
-	</dd>
-	<dt id="gcc-warnings">Are compiler warnings from GCC bad?</dt>
-	<dd>
-	  <p>Short answer: no.</p>
-	  <p>Long answer: probably, but only to someone working on the package you're trying to compile. Mostly, everything will be fine unless make quits with an error.</p>
-	  <p>Here's an example:</p>
-	  <div class="cmd">
-	    <p>sk ~/tmp $ cat > Makefile<br />
-	       main:<br />
-	       gcc main.c<br />
-	       sk ~/tmp $ cat > main.c<br />
-	       void main() { exit(0); }<br />
-	       sk ~/tmp $ make<br />
-	       gcc main.c<br />
-	       <strong>main.c: In function `main':</strong><br />
-	       <strong>main.c:1: warning: return type of `main' is not `int'</strong><br />
-	       sk ~/tmp $ ######## that worked ########<br />
-	       sk ~/tmp $<br />
-	       sk ~/tmp $ cat > main.c<br />
-	       int main() { e<span class="strong">xx</span>it(0) }<br />
-	       sk ~/tmp $ make<br />
-	       gcc main.c<br />
-	       <strong>main.c: In function `main':</strong><br />
-	       <strong>main.c:1: parse error before `}'</strong><br />
-	       <strong>make: *** [main] Error 1</strong><br />
-	       sk ~/tmp $ ######## that failed ########<br />
-	       sk ~/tmp $</p>
-	  </div>
-	</dd>
-	<dt id="really-small">How do I make that really small install the book mentions?</dt>
-	<dd>
-	  <p>Gerard describes the process of making a 5MB LFS install in <a href="http://linuxfromscratch.org/pipermail/lfs-support/2001-October/000202.html">an email to lfs-support</a>,  and there are links to many resources in <a href="http://linuxfromscratch.org/pipermail/lfs-support/2002-June/007255.html">a post by Cor Lem</a> and a reply to it.</p>
-	</dd>
-	<dt id="procs-lfs">Is there information about building LFS on other processors?</dt>
-	<dd>
+        <dt id="what-dist">What distribution should I use to start from?</dt>
+        <dd>
+          <p>Most relatively recent distributions should be fine. Do not use Fedora Core 4 as its version of GCC does not work with the current stable version of LFS. Make sure you have installed and/or updated the development packages. (Look for ones starting in "gcc", "glibc", or "libstdc++" or ending in "-dev".). If you want to use LFS as your main system and you wish to install it without first installing a distribution, try the <a href="http://www.linuxfromscratch.org/livecd/">LFS LiveCD</a> or <a href="http://www.knopper.net/knoppix/index-en.html">Knoppix</a>.</p>
+        </dd>
+        <dt id="kernel-modules">How do I compile a kernel or set up modules?</dt>
+        <dd>
+          <p>In addition to the kernel documentation at <a href="file:///usr/src/linux/Documentation">/usr/src/linux/Documentation</a> or wherever you unpacked your kernel source and the help in kernel config tool (make menuconfig), see the Module-HOWTO at <a href="http://www.tldp.org/HOWTO/Module-HOWTO/">http://www.tldp.org/HOWTO/Module-HOWTO/</a>.</p>
+        </dd>
+        <dt id="gcc-warnings">Are compiler warnings from GCC bad?</dt>
+        <dd>
+          <p>Short answer: no.</p>
+          <p>Long answer: probably, but only to someone working on the package you're trying to compile. Mostly, everything will be fine unless make quits with an error.</p>
+          <p>Here's an example:</p>
+          <div class="cmd">
+            <p>sk ~/tmp $ cat > Makefile<br />
+               main:<br />
+               gcc main.c<br />
+               sk ~/tmp $ cat > main.c<br />
+               void main() { exit(0); }<br />
+               sk ~/tmp $ make<br />
+               gcc main.c<br />
+               <strong>main.c: In function `main':</strong><br />
+               <strong>main.c:1: warning: return type of `main' is not `int'</strong><br />
+               sk ~/tmp $ ######## that worked ########<br />
+               sk ~/tmp $<br />
+               sk ~/tmp $ cat > main.c<br />
+               int main() { e<span class="strong">xx</span>it(0) }<br />
+               sk ~/tmp $ make<br />
+               gcc main.c<br />
+               <strong>main.c: In function `main':</strong><br />
+               <strong>main.c:1: parse error before `}'</strong><br />
+               <strong>make: *** [main] Error 1</strong><br />
+               sk ~/tmp $ ######## that failed ########<br />
+               sk ~/tmp $</p>
+          </div>
+        </dd>
+        <dt id="really-small">How do I make that really small install the book mentions?</dt>
+        <dd>
+          <p>Gerard describes the process of making a 5MB LFS install in <a href="http://linuxfromscratch.org/pipermail/lfs-support/2001-October/000202.html">an email to lfs-support</a>,  and there are links to many resources in <a href="http://linuxfromscratch.org/pipermail/lfs-support/2002-June/007255.html">a post by Cor Lem</a> and a reply to it.</p>
+        </dd>
+        <dt id="procs-lfs">Is there information about building LFS on other processors?</dt>
+        <dd>
           <p>For information about building LFS for a wide array of systems, take a look at the <a href="http://trac.cross-lfs.org/wiki/read">Cross-LFS branch</a> of LFS.</p>
-	  <p>The Alpha systems, Kelledin maintains a list of fixes for building on the Alpha platform at <a href="http://skarpsey.dyndns.org/alpha-lfs/alpha.html">http://skarpsey.dyndns.org/alpha-lfs/alpha.html</a>.</p>
-	</dd>
-	<dt id="cross-compile">How do I cross compile LFS?</dt>
-	<dd>
-	  <p>It's often useful to compile LFS for one machine on another machine. Say using that fast 1Ghz Athlon to build an install for an old 486. While this is technically not cross compiling, binaries compiled for the Athlon cannot be run on the 486 because binaries compiled for the newer processor use features the older processor doesn't have.</p>
+          <p>The Alpha systems, Kelledin maintains a list of fixes for building on the Alpha platform at <a href="http://skarpsey.dyndns.org/alpha-lfs/alpha.html">http://skarpsey.dyndns.org/alpha-lfs/alpha.html</a>.</p>
+        </dd>
+        <dt id="cross-compile">How do I cross compile LFS?</dt>
+        <dd>
+          <p>It's often useful to compile LFS for one machine on another machine. Say using that fast 1Ghz Athlon to build an install for an old 486. While this is technically not cross compiling, binaries compiled for the Athlon cannot be run on the 486 because binaries compiled for the newer processor use features the older processor doesn't have.</p>
           <p>The LFS book specifically for cross compiling is the <a href="http://trac.cross-lfs.org/wiki/read">Cross-LFS</a> book. Another source of information would be the <a href="/hints/downloads/files/">cross-compiling hint</a>.</p>
-	</dd>
-	<dt id="dos-text">What's a DOS format text file?</dt>
-	<dd>
-	  <p>It has to do with the characters used to end lines.</p>
-	  <p>There are two that may be used:</p>
-	  <ul>
-	    <li>Line Feed: (LF) Octal:012 Decimal:10 Hex:0A C Style Escape:'\n' Moves down one line.</li>
-	    <li>Carriage Return: (CR) Octal:015 Decimal:13 Hex:0D C Style Excape:'\r' Move to the left margin.</li>
-	  </ul>
-	  <p>Unix, DOS, and MacOS each use a different combination to end lines in text files:</p>
-	  <ul>
-	    <li>Unix: LF only. This is why when a Unix format text file is sent to a printer raw, it prints out<br />
-	    	  like<br />
-	    	    stairs<br />
-    		      steps.<br /></li>
-	    <li>DOS: CRLF both. Which is why if you do "cat -v" on a DOS file you'll see a "^M" (control m is carriage return) at the end of each line. And that is why scripts don't work when written with Microsoft Notepad. The kernel looks for "/bin/sh^M" which doesn't exist. There's a "/bin/sh", but nothing with a "^M" appended.</li>
-	    <li>MacOs: CR only. Printers probably print every line atop the first, and Unix tools think the whole file is one line with "^M" all through it.</li>
-	  </ul>
-	  <p>To change DOS to Unix, use</p>
-	  <div class="cmd">
-	    <p>cp <fileid> <fileid>.dos &&<br />
-	       cat <fileid>.dos | tr -d '\r' > <fileid></p>
-	  </div>
-	  <p>Or in <code>vim</code>, you can convert a file with <code>:set ff={unix, dos, mac}</code>. Other conversions will probably require sed or a different use of tr and are left as an exercise for the reader.</p>
-	</dd>
+        </dd>
+        <dt id="dos-text">What's a DOS format text file?</dt>
+        <dd>
+          <p>It has to do with the characters used to end lines.</p>
+          <p>There are two that may be used:</p>
+          <ul>
+            <li>Line Feed: (LF) Octal:012 Decimal:10 Hex:0A C Style Escape:'\n' Moves down one line.</li>
+            <li>Carriage Return: (CR) Octal:015 Decimal:13 Hex:0D C Style Excape:'\r' Move to the left margin.</li>
+          </ul>
+          <p>Unix, DOS, and MacOS each use a different combination to end lines in text files:</p>
+          <ul>
+            <li>Unix: LF only. This is why when a Unix format text file is sent to a printer raw, it prints out<br />
+                  like<br />
+                    stairs<br />
+                      steps.<br /></li>
+            <li>DOS: CRLF both. Which is why if you do "cat -v" on a DOS file you'll see a "^M" (control m is carriage return) at the end of each line. And that is why scripts don't work when written with Microsoft Notepad. The kernel looks for "/bin/sh^M" which doesn't exist. There's a "/bin/sh", but nothing with a "^M" appended.</li>
+            <li>MacOs: CR only. Printers probably print every line atop the first, and Unix tools think the whole file is one line with "^M" all through it.</li>
+          </ul>
+          <p>To change DOS to Unix, use</p>
+          <div class="cmd">
+            <p>cp <fileid> <fileid>.dos &&<br />
+               cat <fileid>.dos | tr -d '\r' > <fileid></p>
+          </div>
+          <p>Or in <code>vim</code>, you can convert a file with <code>:set ff={unix, dos, mac}</code>. Other conversions will probably require sed or a different use of tr and are left as an exercise for the reader.</p>
+        </dd>
       </dl>
+        <dt id="wget">Is there a way to download all current files at one time?</dt>
+        <dd>
+          <p>Yes. You can download the file LFS-BOOK-x.y-wget-list <a href=
+          "http://www.linuxfromscratch.org/lfs/downloads/stable">
+          http://www.linuxfromscratch.org/lfs/downloads/stable</a>. To download all the files,
+          use the version of <code>wget</code> on your host distribution to run:</p>
+          
+          <code>wget --input-file=LFS-BOOK-x.y-wget-list</code>
+
+        </dd>
+      </dl>
       <p><a href="#lfsfaq">Back to the top.</a></p>
 
       <h3 id="generrors">General compilation errors</h3>
       <dl>
-	<dt id="gnu-patches">I used a patch from GNU to upgrade. Is that OK?</dt>
-	<dd>
-	  <p>Patches from GNU don't usually work. You can either download the full archive and try again or try the solution given by Gerard Beekmans:</p>
-	  <p>The problem is that executable marked scripts are patched too and they then lose the executable bit, so you can't execute those scripts anymore until you run a "chmod +x" on them (or something similar, like chmod 755) before installing Glibc. Try chmod +x glibc-2.2.5/scripts/* (not 100% sure about the directory paths but it should be obvious where to do it when running an 'ls' on the glibc-2.2.5 directory). </p>
-	</dd>
-	<dt id="optimizations">When using optimization flags (setting CFLAGS)</dt>
-	<dd>
-	  <p>If you're getting errors and you're setting CFLAGS or otherwise passing optimization flags to the compiler that may be the problem.</p>
-	  <p>If you ask on the list and they can't figure it out immediately, they'll likely suggest trying it without optimization. So if you just retry it without before asking, you'll be one step ahead of them :)</p>
-	  <p>Of particular note is that optimizing binutils, gcc, or glibc may cause any other package to fail to compile or run or to otherwise misbehave in strange and mysterious ways. Also, optimization that works for someone else may not work for you. Flags that used to work may mysteriously stop working. Even some small innocent hardware change can make the difference.</p>
-	  <p>(If you don't know what optimization flags are, don't worry, you really don't need to.)</p>
-	</dd>
-	<dt id="config-hang-size_t">Why does configure hang at "checking for signed size_t type..."?</dt>
-	<dd>
-	  <p>You over optimized gcc.</p>
-	</dd>
-	<dt id="dirty-sources">I didn't delete the source tree after my last attempt. Do I need to?</dt>
-	<dd>
-	  <p>Yes. In general <code>make clean</code> or <code>make dist-clean</code> can't be relied upon for clean sources. Especially when you have manually hacked the sources or applied patches to it you should first try again with a fresh unpacked package. The only exception to this rule is the linux kernel, which requires its sources to be present when third-party modules, such as the NVidia drivers, are needed.</p>
-	</dd>
-	<dt id="perm-denied">I'm getting `/dev/null: Permission denied'</dt>
-	<dd>
-	  <p>Does /dev/null look like this:</p>
-	  <div class="cmd">
-	    <p>$ ls -l /dev/null<br />
-	       crw-rw-rw- 1 root root 1, 3 Aug  3  2000 /dev/null</p>
-	  </div>
-	  <p>If not, it should. See the chmod(1), chown(1), and mknod(1) man pages and /usr/src/linux/Documentation/devices.txt if you need help fixing it.</p>
-	  <p>If it does look right, the problem is probably your mount options. See the answer to "<a href="#bad-interpreter-permission-denied">./configure: bad interpreter: Permission denied</a>", above.</p>
-	</dd>
-	<dt id="sig11">signal 11 (internal error: Segmentation fault)</dt>
-	<dd>
-	  <p>The long answer is at <a href="http://www.bitwizard.nl/sig11/">http://www.bitwizard.nl/sig11/</a>.</p>
-	  <p>The short answer is that if restarting make gets a little further every time, you have a hardware problem. (If make, or whatever you're running, fails at the same place every time, then it is not hardware.)</p>
-	  <p>Assuming you're not overclocking, the most likely hardware problem is bad memory which you can check with Memtest86 from <a href="http://www.memtest86.com/">http://www.memtest86.com/</a>. If that isn't it, see the long answer.</p>
-	</dd>
-	<dt id="any-no-such-file">No such file or directory</dt>
-	<dd>
-	  <p>Examples of this error are:</p>
-	  <div class="cmd">
-	    <p>/usr/bin/env: /tools/bin/bash: No such file or directory<br />
-	       gcc: No such file or directory</p>
-	  </div>
-	  <p>With the new Ch 5 build procedure, the most common cause of this problem is forgetting to apply the specs patch.</p>
-	  <p>What happens is that the path to the dynamic linker embedded inside the executable is still pointing at /lib/ld-linux.so.2 and when one goes to run the binary inside the chroot where /lib/ld-linux.so.2 does not exist yet, the very unhelpful <code>No such file or directory</code> error message is shown.</p>
-	  <p>You can test this with <code>readelf -l {binary} | grep interpreter</code>. It's output should be: <code>Requesting program interpreter: /tools/lib/ld-linux.so.2</code>.</p>
-	</dd>
-	<dt id="configure-no-such-file">bash: ./configure: No such file or directory</dt>
-	<dd>
-	  <p>You forgot to <code>cd</code> into the extracted directory of the package after you've extracted it.</p>
-	</dd>
-	<dt id="bad-interpreter-permission-denied">./configure: bad interpreter: Permission denied</dt>
-	<dd>
-	  <p>You're most likely getting this while building binutils in Chapter 5 of the LFS Book. The problem is most likely your mount options. You probably have a line in /etc/fstab like:</p>
-	  <code>/dev/hda10  /mnt/lfs  ext2  user  1  2</code>
-	  <p>'user' is the mount flag, and it's the problem. To quote from the mount man page:</p>
-	  <cite>user:  Allow  an  ordinary  user to mount the file system. This  option  implies  the options noexec, nosuid, and nodev (unless overridden by subsequent options, as in the option line user,exec,dev,suid).</cite>
- 	  <p>So change the line in /etc/fstab like this:</p>
-	  <code>/dev/hda10  /mnt/lfs  ext2  defaults  1  2</code>
-	</dd>
-	<dt id="conf-guess-fail">configure can't guess my host type.</dt>
-	<dd>
-	  <p>Typical symptoms look like this:</p>
-	  <div class="cmd">
-	    <p>sk ~/tmp-0.0 $ ./configure<br />
-	       creating cache ./config.cache<br />
-	       checking host system type...<br />
-	       <strong>configure: error: can not guess host type; you must specify one</strong><br />
-	       sk ~/tmp-0.0 $</p>
-	  </div>
-	  <p>The problem is usually that the script can't run the compiler. Usually it's just a missing /usr/bin/cc symlink. You can fix it like this:</p>
-	  <code>cd /usr/bin && ln -s gcc cc</code>
-	  <p>If that doesn't do it, check the file config.log created by configure. Errors go there and may indicate the problem.</p>
-	</dd>
-	<dt id="config-not-gnu-c">checking whether we are using GNU C... no</dt>
-	<dd>
-	  <p>If you're getting an error from configure like:</p>
-	  <div class="cmd">
-	    <p>checking whether we are using GNU C... no<br />
-	       configure: error: GNU libc must be compiled using GNU CC</p>
-	  </div>
-	  <p>It may be because egrep isn't working. Since egrep is a shell-script which calls grep, this actually means there's a problem with grep.</p>
-	  <p>To test if grep is working <em>before</em> reinstalling the grep package in Chapter 6, run the following command from <em>outside</em> chroot:</p>
-	  <code>file $LFS/bin/grep</code>
-	  <p>If it doesn't say <code>statically linked</code> you have a problem and need to reinstall the grep package according to the instruction in chapter 5.</p>
-	  <p>To test if egrep is working <em>after</em> reinstalling the grep package in Chapter 6, run the following command from <em>inside</em> chroot:</p>
-	  <code>egrep root /etc/passwd</code>
-	  <p>If it doesn't print root's line from /etc/passwd, again, you have a problem. (This test also works if you encounter the problem after rebooting into the new LFS system.)</p>
-	</dd>
-	<dt id="no-ptys">The system has no more ptys.  Ask your system administrator to create more.</dt>
-	<dd>
-	  <p>If you run</p>
-	  <div class="cmd">
-	    <p>expect -c "spawn ls"</p>
-	  </div>
-	  <p>and get the following error:</p>
-	  <div class="cmd">
-	    <p>The system has no more ptys.<br />
-	       Ask your system administrator to create more.</p>
-	  </div>
-	  <p>then your linux distribution is either not setup to use Unix98 PTYs or to use the /dev/pts file system.</p>
-	  <p>The solution may require recompiling your kernel. First, go to your kernel's source directory and look at the .config file. If you do not have a .config file, and you are running the pre-compiled kernel that was installed with rpm, aptget, or whatever your distribution uses, then you need to seek support from your distribution's support FAQ's, mailing lists or IRC channels.</p>
-	  <p>If you do have a .config file, look inside it for the following 2 options:</p>
-	  <div class="cmd">
-	    <p>CONFIG_UNIX98_PTYS=y<br />
-	       CONFIG_DEVPTS_FS=y</p>
-	  </div>
-	  <p>If either of these has 'n' instead of 'y', then change it and recompile the kernel.</p>
-	  <p>If they both have 'y', then you probably will not have to recompile the kernel.</p>
-	  <p>Next, we need to ensure that the system is actually using both Unix98 PTYs and the /dev/pts file system.</p>
-	  <p>First, look for a device called /dev/ptmx.  If it doesn't exist, create it with:</p>
-	  <div class="cmd">
-	    <p>mknod /dev/ptmx c 5 2</p>
-	  </div>
-	  <p>Then, whether it existed or you just created it, run:</p>
-	  <div class="cmd">
-	    <p>chmod 666 /dev/ptmx</p>
-	  </div>
-	  <p>Next, ensure that there is a directory called /dev/pts.  The permissions should be 755.  Create it and/or chmod it if needed.</p>
-	  <p>The final setup is to add the following line to /etc/fstab:</p>
-	  <div class="code">
-	    <p>devpts    /dev/pts    devpts    gid=5,mode=620    0  0</p>
-	  </div>
-	  <p>NOTE:  Look for the tty group in /etc/group and note the group id number.  Change the gid=5 option to match the group id number of the tty group.  The group id of 5 is just an example and may differ on your system.</p>
-	  <p>Now that everything is setup, you have two options.</p>
-	  <p>1.  Mount /dev/pts and test it by rerunning the above expect command.</p>
-	  <p>2.  Reboot the computer and test it by rerunning the above expect command.</p>
+        <dt id="gnu-patches">I used a patch from GNU to upgrade. Is that OK?</dt>
+        <dd>
+          <p>Patches from GNU don't usually work. You can either download the full archive and try again or try the solution given by Gerard Beekmans:</p>
+          <p>The problem is that executable marked scripts are patched too and they then lose the executable bit, so you can't execute those scripts anymore until you run a "chmod +x" on them (or something similar, like chmod 755) before installing Glibc. Try chmod +x glibc-2.2.5/scripts/* (not 100% sure about the directory paths but it should be obvious where to do it when running an 'ls' on the glibc-2.2.5 directory). </p>
         </dd>
+        <dt id="optimizations">When using optimization flags (setting CFLAGS)</dt>
+        <dd>
+          <p>If you're getting errors and you're setting CFLAGS or otherwise passing optimization flags to the compiler that may be the problem.</p>
+          <p>If you ask on the list and they can't figure it out immediately, they'll likely suggest trying it without optimization. So if you just retry it without before asking, you'll be one step ahead of them :)</p>
+          <p>Of particular note is that optimizing binutils, gcc, or glibc may cause any other package to fail to compile or run or to otherwise misbehave in strange and mysterious ways. Also, optimization that works for someone else may not work for you. Flags that used to work may mysteriously stop working. Even some small innocent hardware change can make the difference.</p>
+          <p>(If you don't know what optimization flags are, don't worry, you really don't need to.)</p>
+        </dd>
+        <dt id="config-hang-size_t">Why does configure hang at "checking for signed size_t type..."?</dt>
+        <dd>
+          <p>You over optimized gcc.</p>
+        </dd>
+        <dt id="dirty-sources">I didn't delete the source tree after my last attempt. Do I need to?</dt>
+        <dd>
+          <p>Yes. In general <code>make clean</code> or <code>make dist-clean</code> can't be relied upon for clean sources. Especially when you have manually hacked the sources or applied patches to it you should first try again with a fresh unpacked package. The only exception to this rule is the linux kernel, which requires its sources to be present when third-party modules, such as the NVidia drivers, are needed.</p>
+        </dd>
+        <dt id="perm-denied">I'm getting `/dev/null: Permission denied'</dt>
+        <dd>
+          <p>Does /dev/null look like this:</p>
+          <div class="cmd">
+            <p>$ ls -l /dev/null<br />
+               crw-rw-rw- 1 root root 1, 3 Aug  3  2000 /dev/null</p>
+          </div>
+          <p>If not, it should. See the chmod(1), chown(1), and mknod(1) man pages and /usr/src/linux/Documentation/devices.txt if you need help fixing it.</p>
+          <p>If it does look right, the problem is probably your mount options. See the answer to "<a href="#bad-interpreter-permission-denied">./configure: bad interpreter: Permission denied</a>", above.</p>
+        </dd>
+        <dt id="sig11">signal 11 (internal error: Segmentation fault)</dt>
+        <dd>
+          <p>The long answer is at <a href="http://www.bitwizard.nl/sig11/">http://www.bitwizard.nl/sig11/</a>.</p>
+          <p>The short answer is that if restarting make gets a little further every time, you have a hardware problem. (If make, or whatever you're running, fails at the same place every time, then it is not hardware.)</p>
+          <p>Assuming you're not overclocking, the most likely hardware problem is bad memory which you can check with Memtest86 from <a href="http://www.memtest86.com/">http://www.memtest86.com/</a>. If that isn't it, see the long answer.</p>
+        </dd>
+        <dt id="any-no-such-file">No such file or directory</dt>
+        <dd>
+          <p>Examples of this error are:</p>
+          <div class="cmd">
+            <p>/usr/bin/env: /tools/bin/bash: No such file or directory<br />
+               gcc: No such file or directory</p>
+          </div>
+          <p>With the new Ch 5 build procedure, the most common cause of this problem is forgetting to apply the specs patch.</p>
+          <p>What happens is that the path to the dynamic linker embedded inside the executable is still pointing at /lib/ld-linux.so.2 and when one goes to run the binary inside the chroot where /lib/ld-linux.so.2 does not exist yet, the very unhelpful <code>No such file or directory</code> error message is shown.</p>
+          <p>You can test this with <code>readelf -l {binary} | grep interpreter</code>. It's output should be: <code>Requesting program interpreter: /tools/lib/ld-linux.so.2</code>.</p>
+        </dd>
+        <dt id="configure-no-such-file">bash: ./configure: No such file or directory</dt>
+        <dd>
+          <p>You forgot to <code>cd</code> into the extracted directory of the package after you've extracted it.</p>
+        </dd>
+        <dt id="bad-interpreter-permission-denied">./configure: bad interpreter: Permission denied</dt>
+        <dd>
+          <p>You're most likely getting this while building binutils in Chapter 5 of the LFS Book. The problem is most likely your mount options. You probably have a line in /etc/fstab like:</p>
+          <code>/dev/hda10  /mnt/lfs  ext2  user  1  2</code>
+          <p>'user' is the mount flag, and it's the problem. To quote from the mount man page:</p>
+          <cite>user:  Allow  an  ordinary  user to mount the file system. This  option  implies  the options noexec, nosuid, and nodev (unless overridden by subsequent options, as in the option line user,exec,dev,suid).</cite>
+          <p>So change the line in /etc/fstab like this:</p>
+          <code>/dev/hda10  /mnt/lfs  ext2  defaults  1  2</code>
+        </dd>
+        <dt id="conf-guess-fail">configure can't guess my host type.</dt>
+        <dd>
+          <p>Typical symptoms look like this:</p>
+          <div class="cmd">
+            <p>sk ~/tmp-0.0 $ ./configure<br />
+               creating cache ./config.cache<br />
+               checking host system type...<br />
+               <strong>configure: error: can not guess host type; you must specify one</strong><br />
+               sk ~/tmp-0.0 $</p>
+          </div>
+          <p>The problem is usually that the script can't run the compiler. Usually it's just a missing /usr/bin/cc symlink. You can fix it like this:</p>
+          <code>cd /usr/bin && ln -s gcc cc</code>
+          <p>If that doesn't do it, check the file config.log created by configure. Errors go there and may indicate the problem.</p>
+        </dd>
+        <dt id="config-not-gnu-c">checking whether we are using GNU C... no</dt>
+        <dd>
+          <p>If you're getting an error from configure like:</p>
+          <div class="cmd">
+            <p>checking whether we are using GNU C... no<br />
+               configure: error: GNU libc must be compiled using GNU CC</p>
+          </div>
+          <p>It may be because egrep isn't working. Since egrep is a shell-script which calls grep, this actually means there's a problem with grep.</p>
+          <p>To test if grep is working <em>before</em> reinstalling the grep package in Chapter 6, run the following command from <em>outside</em> chroot:</p>
+          <code>file $LFS/bin/grep</code>
+          <p>If it doesn't say <code>statically linked</code> you have a problem and need to reinstall the grep package according to the instruction in chapter 5.</p>
+          <p>To test if egrep is working <em>after</em> reinstalling the grep package in Chapter 6, run the following command from <em>inside</em> chroot:</p>
+          <code>egrep root /etc/passwd</code>
+          <p>If it doesn't print root's line from /etc/passwd, again, you have a problem. (This test also works if you encounter the problem after rebooting into the new LFS system.)</p>
+        </dd>
+        <dt id="no-ptys">The system has no more ptys.  Ask your system administrator to create more.</dt>
+        <dd>
+          <p>If you run</p>
+          <div class="cmd">
+            <p>expect -c "spawn ls"</p>
+          </div>
+          <p>and get the following error:</p>
+          <div class="cmd">
+            <p>The system has no more ptys.<br />
+               Ask your system administrator to create more.</p>
+          </div>
+          <p>then your linux distribution is either not setup to use Unix98 PTYs or to use the /dev/pts file system.</p>
+          <p>The solution may require recompiling your kernel. First, go to your kernel's source directory and look at the .config file. If you do not have a .config file, and you are running the pre-compiled kernel that was installed with rpm, aptget, or whatever your distribution uses, then you need to seek support from your distribution's support FAQ's, mailing lists or IRC channels.</p>
+          <p>If you do have a .config file, look inside it for the following 2 options:</p>
+          <div class="cmd">
+            <p>CONFIG_UNIX98_PTYS=y<br />
+               CONFIG_DEVPTS_FS=y</p>
+          </div>
+          <p>If either of these has 'n' instead of 'y', then change it and recompile the kernel.</p>
+          <p>If they both have 'y', then you probably will not have to recompile the kernel.</p>
+          <p>Next, we need to ensure that the system is actually using both Unix98 PTYs and the /dev/pts file system.</p>
+          <p>First, look for a device called /dev/ptmx.  If it doesn't exist, create it with:</p>
+          <div class="cmd">
+            <p>mknod /dev/ptmx c 5 2</p>
+          </div>
+          <p>Then, whether it existed or you just created it, run:</p>
+          <div class="cmd">
+            <p>chmod 666 /dev/ptmx</p>
+          </div>
+          <p>Next, ensure that there is a directory called /dev/pts.  The permissions should be 755.  Create it and/or chmod it if needed.</p>
+          <p>The final setup is to add the following line to /etc/fstab:</p>
+          <div class="code">
+            <p>devpts    /dev/pts    devpts    gid=5,mode=620    0  0</p>
+          </div>
+          <p>NOTE:  Look for the tty group in /etc/group and note the group id number.  Change the gid=5 option to match the group id number of the tty group.  The group id of 5 is just an example and may differ on your system.</p>
+          <p>Now that everything is setup, you have two options.</p>
+          <p>1.  Mount /dev/pts and test it by rerunning the above expect command.</p>
+          <p>2.  Reboot the computer and test it by rerunning the above expect command.</p>
+        </dd>
       </dl>
       <p><a href="#lfsfaq">Back to the top.</a></p>
 
       <h3 id="packerrors">Package-specific errors</h3>
       <dl>
-	<dt id="unknown-pseudo-op-hidden">GCC: Error: Unknown pseudo-op: `.hidden'</dt>
-	<dd>
-	  <p>If compiling GCC in Chapter 5 errors out with</p>
-	  <code>Error: Unknown pseudo-op: `.hidden'</code>
-	  <p>Try the solution given in <a href="http://linuxfromscratch.org/pipermail/lfs-support/2002-September/009562.html">the lfs-support archives</a>  and replies.</p>
-	</dd>
-	<dt id="no-linuxthreads">Glibc: "... it is normal to compile GNU libc with the `linuxthreads' add-on..."</dt>
-	<dd>
-	  <p>The exact error looks like this:</p>
-	  <div class="cmd">
-	    <p>*** On GNU/Linux systems it is normal to compile GNU libc with the<br />
-	       *** `linuxthreads' add-on.  Without that, the library will be<br />
-	       *** incompatible with normal GNU/Linux systems.<br />
-	       *** If you really mean to not use this add-on, run configure again<br />
-	       *** using the extra parameter `--disable-sanity-checks'.</p>
-	  </div>
-	  <p>You did not pass the --enable-add-ons parameter to configure, which enables the NPTL threading add-on. Glibc will not ask for linuxthreads with this parameter.</p>
-	</dd>
-	<dt id="glibc-awk-fail">Glibc fails and mentions BEGIN and END.</dt>
-	<dd>
-	  <p>If glibc fails to build with an error like this:</p>
-	  <div class="cmd">
-	    <p>'BEGIN { subdirs = ""; inhibit = "" };  \<br />
-	       ^# { next };  \<br />
-	       ^[^-] { subdirs = subdirs " " $0 };  \<br />
-	       ^- { inhibit = inhibit " " substr($0, 2) };  \<br />
-	       END { printf "sysdep-subdirs =%s\n", subdirs;  \<br />
-	       printf "sysdep-inhibit-subdirs =%s\n", inhibit;  \<br />
-	       print "sysd-dirs-done = t" }'  \<br />
-	       /dev/null linuxthreads/sysdeps/pthread/Subdirs<br />
-	       sysdeps/unix/inet/Subdirs sysdeps/unix/Subdirs ><br />
-	       /usr/src/glibc-build/sysd-dirs-tmp<br />
-	       /bin/sh: line 1: BEGIN { subdirs = ""; inhibit = "" };<br />
-	       ^# { next };<br />
-	       ^[^-] { subdirs = subdirs " " $0 }; ^- { inhibit =<br />
-	       inhibit " " substr($0, 2) }; END</p>
-	  </div>
-	  <p>then gawk is failing. The key is the BEGIN and END in the output. The probable reason is that it's not statically linked which you can fix by going back to Chapter 5 and recompiling it.</p>
-	</dd>
-	<dt id="glibc-nss">Glibc compilation errors out due to a missing nss.h header file</dt>
-	<dd>
-	  <p>This usually indicates that you are compiling LFS onto a Reiser4 partition. Unfortunately, there is currently no known solution, other than to use a different type of filesystem. </p>
-	</dd>
-	<dt id="cpp-fails-sanity-check">NCurses: C++ preprocessor "/lib/cpp" fails sanity check</dt>
-	<dd>
-	  <p>Ncurses in chapter six ends with:</p>
-	  <div class="cmd">
-	    <p>checking how to run the C++ preprocessor... /lib/cpp<br />
-	       configure: error: C++ preprocessor "/lib/cpp" fails sanity check</p>
-	  </div>
-	  <p>The problem is that you have no c++ compiler. In chapter five, gcc is first built without the C++ compiler. Before building ncurses, gcc is rebuilt with the C++ compiler. Most probably, you forgot to extract the g++ tarball, or did not specify "c++" in the --enable-languages configure switch, on the 2nd gcc build. There are more details in <a href="http://archives.linuxfromscratch.org/mail-archives/lfs-support/2003-July/018757.html">the mail archive</a>.</p>
-	</dd>
+        <dt id="unknown-pseudo-op-hidden">GCC: Error: Unknown pseudo-op: `.hidden'</dt>
+        <dd>
+          <p>If compiling GCC in Chapter 5 errors out with</p>
+          <code>Error: Unknown pseudo-op: `.hidden'</code>
+          <p>Try the solution given in <a href="http://linuxfromscratch.org/pipermail/lfs-support/2002-September/009562.html">the lfs-support archives</a>  and replies.</p>
+        </dd>
+        <dt id="no-linuxthreads">Glibc: "... it is normal to compile GNU libc with the `linuxthreads' add-on..."</dt>
+        <dd>
+          <p>The exact error looks like this:</p>
+          <div class="cmd">
+            <p>*** On GNU/Linux systems it is normal to compile GNU libc with the<br />
+               *** `linuxthreads' add-on.  Without that, the library will be<br />
+               *** incompatible with normal GNU/Linux systems.<br />
+               *** If you really mean to not use this add-on, run configure again<br />
+               *** using the extra parameter `--disable-sanity-checks'.</p>
+          </div>
+          <p>You did not pass the --enable-add-ons parameter to configure, which enables the NPTL threading add-on. Glibc will not ask for linuxthreads with this parameter.</p>
+        </dd>
+        <dt id="glibc-awk-fail">Glibc fails and mentions BEGIN and END.</dt>
+        <dd>
+          <p>If glibc fails to build with an error like this:</p>
+          <div class="cmd">
+            <p>'BEGIN { subdirs = ""; inhibit = "" };  \<br />
+               ^# { next };  \<br />
+               ^[^-] { subdirs = subdirs " " $0 };  \<br />
+               ^- { inhibit = inhibit " " substr($0, 2) };  \<br />
+               END { printf "sysdep-subdirs =%s\n", subdirs;  \<br />
+               printf "sysdep-inhibit-subdirs =%s\n", inhibit;  \<br />
+               print "sysd-dirs-done = t" }'  \<br />
+               /dev/null linuxthreads/sysdeps/pthread/Subdirs<br />
+               sysdeps/unix/inet/Subdirs sysdeps/unix/Subdirs ><br />
+               /usr/src/glibc-build/sysd-dirs-tmp<br />
+               /bin/sh: line 1: BEGIN { subdirs = ""; inhibit = "" };<br />
+               ^# { next };<br />
+               ^[^-] { subdirs = subdirs " " $0 }; ^- { inhibit =<br />
+               inhibit " " substr($0, 2) }; END</p>
+          </div>
+          <p>then gawk is failing. The key is the BEGIN and END in the output. The probable reason is that it's not statically linked which you can fix by going back to Chapter 5 and recompiling it.</p>
+        </dd>
+        <dt id="glibc-nss">Glibc compilation errors out due to a missing nss.h header file</dt>
+        <dd>
+          <p>This usually indicates that you are compiling LFS onto a Reiser4 partition. Unfortunately, there is currently no known solution, other than to use a different type of filesystem. </p>
+        </dd>
+        <dt id="cpp-fails-sanity-check">NCurses: C++ preprocessor "/lib/cpp" fails sanity check</dt>
+        <dd>
+          <p>Ncurses in chapter six ends with:</p>
+          <div class="cmd">
+            <p>checking how to run the C++ preprocessor... /lib/cpp<br />
+               configure: error: C++ preprocessor "/lib/cpp" fails sanity check</p>
+          </div>
+          <p>The problem is that you have no c++ compiler. In chapter five, gcc is first built without the C++ compiler. Before building ncurses, gcc is rebuilt with the C++ compiler. Most probably, you forgot to extract the g++ tarball, or did not specify "c++" in the --enable-languages configure switch, on the 2nd gcc build. There are more details in <a href="http://archives.linuxfromscratch.org/mail-archives/lfs-support/2003-July/018757.html">the mail archive</a>.</p>
+        </dd>
       </dl>
       <p><a href="#lfsfaq">Back to the top.</a></p>
 
       <h3 id="confboot">Configuration and booting issues</h3>
       <dl>
-	<dt id="unable-to-mount-root">Kernel panic: VFS: unable to mount root fs</dt>
-	<dd>
-	  <p>There are several reasons why the kernel might be unable to mount the root filesystem.</p>
-	  <ul>
-	    <li>Did you specify the correct partition in <code>/boot/grub/menu.lst</code>?</li>
-	    <li>Is support for the hard drive enabled in the kernel. For SCSI this means support for the specific SCSI adapter.</li>
-	    <li>Is support for the hard drive compiled into the kernel, not just as a module. (Modules are stored on the filesystem. If a driver needed to access the filesystem is stored as a module on that filesystem, well ... you know ... ;)</li>
-	    <li>Is support for the filesystem compiled into the kernel. Again, not a module. Support for ext2 is enabled by default, but others like ext3, reiser, jfs, and xfs are not.</li>
-	  </ul>
-	</dd>
-	<dt id="respawning-too-fast">init: Id "1" respawning too fast: disabled for 5 minutes</dt>
-	<dd>
-	  <p>When you see, in your syslogs, this line:</p>
-	  <code>init: Id "1" respawning too fast: disabled for 5 minutes</code>
-	  <p>It means you have an error in the /etc/inittab line beginning with the given id ("1" in this example).</p>
-	</dd>
-	<dt id="char-major-10-135">modprobe: Can't locate module char-major-10-135</dt>
-	<dd>
-	  <p><code>char-major-10-135</code> refers to the character device, major 10, minor 135, which is /dev/rtc. It provides access to the BIOS clock, or RTC, the Real Time Clock. See /usr/src/linux/Documentation/rtc.txt for more information.</p>
- 	  <p>The error is because something, most likely hwclock, is trying to use /dev/rtc but you haven't configured kernel support for it in your kernel. Either delete /dev/rtc so hwclock won't try to use it or enable RTC support in your kernel. It's located in make menuconfig under "Character devices" -> "Enhanced Real Time Clock Support".</p>
-	</dd>
-	<dt id="no-dev-rtc">modprobe: Can't locate module /dev/rtc</dt>
-	<dd>
-	  <p>See the question <a href="#char-major-10-135">"modprobe: Can't locate module char-major-10-135"</a>.</p>
-	</dd>
-	<dt id="eth0-unknown-interface">eth0:unknown interface:No such device [failed] </dt>
-	<dd>
-	  <p>The full error looks like this:</p>
-	  <div class="cmd">
-	    <p>eth0:unknown interface:No such device [failed]<br />
-	       Setting up default gateway...<br />
-	       SIOCADDRT:No such device [failed]</p>
-	  </div>
-	  <p>eth0 is a virtual device with no /dev entry. It refers to the first detected network card in your system. The reason the kernel can't find this device is because you forgot to add support for your network card in the kernel. The kernel detected the card but doesn't have a driver for it. The LFS boot script tries to bring up the network but fails because of this.</p>
-	  <p>Recompile your kernel with the proper driver, either built in or as a module. If you compiled the network driver as a module, then also adjust /etc/modules.conf to alias the network card module as eth0; for example: <code>alias eth0 8139too</code>. If you don't know which network card you have, you can use <code>dmesg</code>, /proc/pci or <code>lspci</code> to find out.</p>
-	</dd>
-	<dt id="spurious-8259A-interrupt">spurious 8259A interrupt: IRQ14 </dt>
-	<dd>
-	  <p>Short summary: It's a hardware problem (usually). Transient Line-noise/crosstalk persuades the PIC that something happened; this can result in a 'dummy' interrupt being raised, which happens to be IRQ7 with intel's 8259 design.The problem could possibly also be caused by (or instead be caused by) a device driver not properly masking its interrupts before servicing, this would be the suspect if the IRQ7's were happening in bursts, or more often than 'several' per day. (<a href="http://groups.google.com/groups?q=spurious+interrupt+8259&hl=de&scoring=d&selm=3C174EDD.9090306%40hotmail.com&rnum=10">Source and additional information</a>)</p>
-	  <p>Since the message itself is harmless, it's enough to adjust the default loglevel outplut of klogd (the -c opion) in the syslogd bootscript. See <code>man klogd</code> for details. You can also try recompiling the kernel and unset CONFIG_LOCAL_APIC.</p>
-	</dd>
-	<dt id="less-prints-ad">Why does less (and therefore man) print <AD> instead of hyphens?</dt>
-	<dd>
-	  <p>Because the LANG and LC_ALL environment variables aren't set. To fix that, set them in both the ~/.bash_profile and ~/.bashrc files for each user or in /etc/profile, which will take care of all users, by adding lines like this:</p>
-	  <div class="cmd">
-	    <p>export LANG=en_US<br />
-	       export LC_ALL=POSIX</p>
-	  </div>
-	  <p>Those lines can be added to /etc/profile with the following command:</p>
-	  <code>echo -e 'export LANG=en_US\nexport LC_ALL=POSIX' >> /etc/profile</code>
-	  <p>If you don't use US English you'll have to change the "en_US" part and possibly the values of various LC_* variables as well. Running the locale command lists many (all?) of the LC_* variables.</p>
-	</dd>
+        <dt id="unable-to-mount-root">Kernel panic: VFS: unable to mount root fs</dt>
+        <dd>
+          <p>There are several reasons why the kernel might be unable to mount the root filesystem.</p>
+          <ul>
+            <li>Did you specify the correct partition in <code>/boot/grub/menu.lst</code>?</li>
+            <li>Is support for the hard drive enabled in the kernel. For SCSI this means support for the specific SCSI adapter.</li>
+            <li>Is support for the hard drive compiled into the kernel, not just as a module. (Modules are stored on the filesystem. If a driver needed to access the filesystem is stored as a module on that filesystem, well ... you know ... ;)</li>
+            <li>Is support for the filesystem compiled into the kernel. Again, not a module. Support for ext2 is enabled by default, but others like ext3, reiser, jfs, and xfs are not.</li>
+          </ul>
+        </dd>
+        <dt id="respawning-too-fast">init: Id "1" respawning too fast: disabled for 5 minutes</dt>
+        <dd>
+          <p>When you see, in your syslogs, this line:</p>
+          <code>init: Id "1" respawning too fast: disabled for 5 minutes</code>
+          <p>It means you have an error in the /etc/inittab line beginning with the given id ("1" in this example).</p>
+        </dd>
+        <dt id="char-major-10-135">modprobe: Can't locate module char-major-10-135</dt>
+        <dd>
+          <p><code>char-major-10-135</code> refers to the character device, major 10, minor 135, which is /dev/rtc. It provides access to the BIOS clock, or RTC, the Real Time Clock. See /usr/src/linux/Documentation/rtc.txt for more information.</p>
+          <p>The error is because something, most likely hwclock, is trying to use /dev/rtc but you haven't configured kernel support for it in your kernel. Either delete /dev/rtc so hwclock won't try to use it or enable RTC support in your kernel. It's located in make menuconfig under "Character devices" -> "Enhanced Real Time Clock Support".</p>
+        </dd>
+        <dt id="no-dev-rtc">modprobe: Can't locate module /dev/rtc</dt>
+        <dd>
+          <p>See the question <a href="#char-major-10-135">"modprobe: Can't locate module char-major-10-135"</a>.</p>
+        </dd>
+        <dt id="eth0-unknown-interface">eth0:unknown interface:No such device [failed] </dt>
+        <dd>
+          <p>The full error looks like this:</p>
+          <div class="cmd">
+            <p>eth0:unknown interface:No such device [failed]<br />
+               Setting up default gateway...<br />
+               SIOCADDRT:No such device [failed]</p>
+          </div>
+          <p>eth0 is a virtual device with no /dev entry. It refers to the first detected network card in your system. The reason the kernel can't find this device is because you forgot to add support for your network card in the kernel. The kernel detected the card but doesn't have a driver for it. The LFS boot script tries to bring up the network but fails because of this.</p>
+          <p>Recompile your kernel with the proper driver, either built in or as a module. If you compiled the network driver as a module, then also adjust /etc/modules.conf to alias the network card module as eth0; for example: <code>alias eth0 8139too</code>. If you don't know which network card you have, you can use <code>dmesg</code>, /proc/pci or <code>lspci</code> to find out.</p>
+        </dd>
+        <dt id="spurious-8259A-interrupt">spurious 8259A interrupt: IRQ14 </dt>
+        <dd>
+          <p>Short summary: It's a hardware problem (usually). Transient Line-noise/crosstalk persuades the PIC that something happened; this can result in a 'dummy' interrupt being raised, which happens to be IRQ7 with intel's 8259 design.The problem could possibly also be caused by (or instead be caused by) a device driver not properly masking its interrupts before servicing, this would be the suspect if the IRQ7's were happening in bursts, or more often than 'several' per day. (<a href="http://groups.google.com/groups?q=spurious+interrupt+8259&hl=de&scoring=d&selm=3C174EDD.9090306%40hotmail.com&rnum=10">Source and additional information</a>)</p>
+          <p>Since the message itself is harmless, it's enough to adjust the default loglevel outplut of klogd (the -c opion) in the syslogd bootscript. See <code>man klogd</code> for details. You can also try recompiling the kernel and unset CONFIG_LOCAL_APIC.</p>
+        </dd>
+        <dt id="less-prints-ad">Why does less (and therefore man) print <AD> instead of hyphens?</dt>
+        <dd>
+          <p>Because the LANG and LC_ALL environment variables aren't set. To fix that, set them in both the ~/.bash_profile and ~/.bashrc files for each user or in /etc/profile, which will take care of all users, by adding lines like this:</p>
+          <div class="cmd">
+            <p>export LANG=en_US<br />
+               export LC_ALL=POSIX</p>
+          </div>
+          <p>Those lines can be added to /etc/profile with the following command:</p>
+          <code>echo -e 'export LANG=en_US\nexport LC_ALL=POSIX' >> /etc/profile</code>
+          <p>If you don't use US English you'll have to change the "en_US" part and possibly the values of various LC_* variables as well. Running the locale command lists many (all?) of the LC_* variables.</p>
+        </dd>
       </dl>
 
 <!--#include virtual="/common/footer.html" -->

Modified: html/trunk/lfs/read.html
===================================================================
--- html/trunk/lfs/read.html	2008-11-23 16:42:14 UTC (rev 983)
+++ html/trunk/lfs/read.html	2008-11-23 19:59:13 UTC (rev 984)
@@ -30,6 +30,10 @@
      <p>As a result of bugs and security warnings, please be sure to read the errata page for any modifications needed to the LFS build.</p>
      <p><a href="errata/development/">Development LFS Errata</a></p>
      <p><a href="view/development/">Development LFS</a></p>
+     <p>Note:  There is now an automatically generated wget list available to fetch all
+     LFS Book packages automatically at <a href=
+     "http://www.linuxfromscratch.org/lfs/downloads/stable">
+     http://www.linuxfromscratch.org/lfs/downloads/stable</a>.</p>
 
      <h2>Get the LFS 6.0 Hard Copy</h2>
      <p>You can find information about the printed version of the LFS 6.0 book on the <a href="/lfs/contribute.html#lfsbook">contribute page</a>.</p>




More information about the website mailing list