mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-01-18 13:07:50 +00:00
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
This commit is contained in:
parent
09e3f94d7c
commit
394dc3fc60
@ -63,8 +63,8 @@ cd build</userinput></screen>
|
||||
--host=$LFS_TGT \
|
||||
--prefix=/tools \
|
||||
--disable-multilib \
|
||||
--disable-nls \
|
||||
--disable-libstdcxx-threads \
|
||||
--disable-nls \<!--
|
||||
- -disable-libstdcxx-threads \-->
|
||||
--disable-libstdcxx-pch \
|
||||
--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>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<!--
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-libstdcxx-threads</parameter></term>
|
||||
<term><parameter>- -disable-libstdcxx-threads</parameter></term>
|
||||
<listitem>
|
||||
<para>Since gcc-pass1 is built without thread support, the C++
|
||||
thread library cannot be built either.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
-->
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-libstdcxx-pch</parameter></term>
|
||||
<listitem>
|
||||
|
@ -14,52 +14,37 @@
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
32-bit 198.5 minutes 648 MB
|
||||
64-bit 190.6 minutes 709 MB</computeroutput></screen>
|
||||
32-bit 239.9 minutes 3.6 GB
|
||||
64-bit 233.2 minutes 4.4 GB</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>
|
||||
<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>
|
||||
|
||||
<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>
|
||||
-->
|
||||
<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>
|
||||
|
||||
|
@ -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="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="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="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="organization.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="errata.xml"/>
|
||||
|
Loading…
Reference in New Issue
Block a user