Эх сурвалжийг харах

Make the "target architectures" section more up to date

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11760 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Pierre Labastie 5 жил өмнө
parent
commit
394dc3fc60

+ 5 - 5
chapter05/libstdc++.xml

@@ -63,8 +63,8 @@ cd       build</userinput></screen>
     --host=$LFS_TGT                 \
     --host=$LFS_TGT                 \
     --prefix=/tools                 \
     --prefix=/tools                 \
     --disable-multilib              \
     --disable-multilib              \
-    --disable-nls                   \
-    --disable-libstdcxx-threads     \
+    --disable-nls                   \<!--
+    - -disable-libstdcxx-threads     \-->
     --disable-libstdcxx-pch         \
     --disable-libstdcxx-pch         \
     --with-gxx-include-dir=/tools/$LFS_TGT/include/c++/&gcc-version;</userinput></screen>
     --with-gxx-include-dir=/tools/$LFS_TGT/include/c++/&gcc-version;</userinput></screen>
 
 
@@ -78,15 +78,15 @@ cd       build</userinput></screen>
           instead of the one in <filename>/usr/bin</filename>.</para>
           instead of the one in <filename>/usr/bin</filename>.</para>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
-
+        <!--
       <varlistentry>
       <varlistentry>
-        <term><parameter>--disable-libstdcxx-threads</parameter></term>
+        <term><parameter>- -disable-libstdcxx-threads</parameter></term>
         <listitem>
         <listitem>
           <para>Since gcc-pass1 is built without thread support, the C++
           <para>Since gcc-pass1 is built without thread support, the C++
           thread library cannot be built either.</para>
           thread library cannot be built either.</para>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
-
+        -->
       <varlistentry>
       <varlistentry>
         <term><parameter>--disable-libstdcxx-pch</parameter></term>
         <term><parameter>--disable-libstdcxx-pch</parameter></term>
         <listitem>
         <listitem>

+ 25 - 40
prologue/architecture.xml

@@ -14,52 +14,37 @@
 and x86_64 (64-bit) CPUs.  On the other hand, the instructions in this book are
 and x86_64 (64-bit) CPUs.  On the other hand, the instructions in this book are
 also known to work, with some modifications, with the Power PC and ARM CPUs. To
 also known to work, with some modifications, with the Power PC and ARM CPUs. To
 build a system that utilizes one of these CPUs, the main prerequisite, in
 build a system that utilizes one of these CPUs, the main prerequisite, in
-addition to those on the next few pages, is an existing Linux system such as an
+addition to those on the next page, is an existing Linux system such as an
 earlier LFS installation, Ubuntu, Red Hat/Fedora, SuSE, or other distribution
 earlier LFS installation, Ubuntu, Red Hat/Fedora, SuSE, or other distribution
 that targets the architecture that you have. Also note that a 32-bit
 that targets the architecture that you have. Also note that a 32-bit
 distribution can be installed and used as a host system on a 64-bit AMD/Intel
 distribution can be installed and used as a host system on a 64-bit AMD/Intel
 computer.</para>
 computer.</para>
 
 
-<para>Some other facts about 64-bit systems need to be added here. When
-compared to a 32-bit system, the sizes of executable programs are slightly
-larger and the execution speeds of arbitrary programs are only slightly faster.
-For example, in a test build of LFS-6.5 on a Core2Duo CPU based system, the
-following statistics were measured:</para>
+<para>For building LFS, the gain of building on a 64-bit system
+compared to a 32-bit system is minimal.
+For example, in a test build of LFS-9.1 on a Core i7-4790 CPU based system,
+using 4 cores, the following statistics were measured:</para>
 
 
 <screen><computeroutput>Architecture Build Time     Build Size
 <screen><computeroutput>Architecture Build Time     Build Size
-32-bit       198.5 minutes  648 MB
-64-bit       190.6 minutes  709 MB</computeroutput></screen>
-
-<para>As you can see, the 64-bit build is only 4% faster and is 9% larger than
-the 32-bit build.  The gain from going to a 64-bit system is relatively
-minimal. Of course, if you have more than 4GB of RAM or want to manipulate
-data that exceeds 4GB, the advantages of a 64-bit system are substantial.</para>
-
-<note><para>The above discussion is only appropriate when comparing 
-builds on the same hardware.  Modern 64-bit systems are considerably
-faster than older 64-bit systems and the LFS authors recommend building
-on a 64-bit system when given a choice.</para></note>
-
-<para>The default 64-bit build that results from LFS is considered a "pure"
-64-bit system. That is, it supports 64-bit executables only. Building a
-"multi-lib" system requires compiling many applications twice, once for a
-32-bit system and once for a 64-bit system. This is not directly supported in
-LFS because it would interfere with the educational objective of providing the
-instructions needed for a straightforward base Linux system.  You can refer to
-the <ulink url="http://trac.clfs.org/">Cross Linux From Scratch</ulink>
-project for this advanced topic.</para>
-
-<!-- This does not appear to be valid for LFS/BLFS any more
-<para>There is one last comment about 64-bit systems. There are some older
-packages that cannot currently be built in a "pure" 64-bit system or require
-specialized build instructions. Generally, these packages have some embedded
-32-bit specific assembly language instructions that fail when building on a
-64-bit system.  This includes some Xorg drivers for some legacy video cards at
-<ulink url="http://xorg.freedesktop.org/releases/individual/driver/">
-http://xorg.freedesktop.org/releases/individual/driver/</ulink>. Many of these
-problems can be worked around, but may require some specialized procedures or
-patches.</para>
--->
+32-bit       239.9 minutes  3.6 GB
+64-bit       233.2 minutes  4.4 GB</computeroutput></screen>
+
+<para>As you can see, on the same hardware, the 64-bit build is only 3% faster
+and is 22% larger than the 32-bit build. If you plan to use LFS as a LAMP
+server, or a firewall, a 32-bit CPU may be largely sufficient. On the other
+hand, several packages in BLFS now need more that 4GB of RAM to be built
+and/or to run, so that if you plan to use LFS as a desktop, the LFS authors
+recommend building on a 64-bit system.</para>
+
+<para>The default 64-bit build that results from LFS is considered a
+<quote>pure</quote> 64-bit system. That is, it supports 64-bit executables
+only. Building a <quote>multi-lib</quote> system requires compiling many
+applications twice, once for a 32-bit system and once for a 64-bit system.
+This is not directly supported in LFS because it would interfere with the
+educational objective of providing the instructions needed for a
+straightforward base Linux system. Some LFS/BLFS editors maintain a fork
+of LFS for multilib, which is accessible at <ulink
+url="http://www.linuxfromscratch.org/~thomas/multilib/index.html"/>. But it
+is an advanced topic.</para>
 
 
 </sect1>
 </sect1>
-

+ 1 - 1
prologue/preface.xml

@@ -14,9 +14,9 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="foreword.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="foreword.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="audience.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="audience.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="architecture.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="architecture.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="prerequisites.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="standards.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="standards.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="why.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="why.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="prerequisites.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="typography.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="typography.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="organization.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="organization.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="errata.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="errata.xml"/>