1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
8 <sect1 id="pre-architecture">
9 <?dbhtml filename="architecture.html"?>
11 <title>LFS Target Architectures</title>
13 <para>The primary target architectures of LFS are the AMD/Intel x86 (32-bit)
14 and x86_64 (64-bit) CPUs. On the other hand, the instructions in this book are
15 also known to work, with some modifications, with the Power PC and ARM CPUs. To
16 build a system that utilizes one of these CPUs, the main prerequisite, in
17 addition to those on the next few pages, is an existing Linux system such as an
18 earlier LFS installation, Ubuntu, Red Hat/Fedora, SuSE, or other distribution
19 that targets the architecture that you have. Also note that a 32-bit
20 distribution can be installed and used as a host system on a 64-bit AMD/Intel
23 <para>Some other facts about 64-bit systems need to be added here. When
24 compared to a 32-bit system, the sizes of executable programs are slightly
25 larger and the execution speeds of arbitrary programs are only slightly faster.
26 For example, in a test build of LFS-6.5 on a Core2Duo CPU based system, the
27 following statistics were measured:</para>
29 <screen><computeroutput>Architecture Build Time Build Size
30 32-bit 198.5 minutes 648 MB
31 64-bit 190.6 minutes 709 MB</computeroutput></screen>
33 <para>As you can see, the 64-bit build is only 4% faster and is 9% larger than
34 the 32-bit build. The gain from going to a 64-bit system is relatively
35 minimal. Of course, if you have more than 4GB of RAM or want to manipulate
36 data that exceeds 4GB, the advantages of a 64-bit system are substantial.</para>
38 <note><para>The above discussion is only appropriate when comparing
39 builds on the same hardware. Modern 64-bit systems are considerably
40 faster than older 64-bit systems and the LFS authors recommend building
41 on a 64-bit system when given a choice.</para></note>
43 <para>The default 64-bit build that results from LFS is considered a "pure"
44 64-bit system. That is, it supports 64-bit executables only. Building a
45 "multi-lib" system requires compiling many applications twice, once for a
46 32-bit system and once for a 64-bit system. This is not directly supported in
47 LFS because it would interfere with the educational objective of providing the
48 instructions needed for a straightforward base Linux system. You can refer to
49 the <ulink url="http://trac.clfs.org/">Cross Linux From Scratch</ulink>
50 project for this advanced topic.</para>
52 <!-- This does not appear to be valid for LFS/BLFS any more
53 <para>There is one last comment about 64-bit systems. There are some older
54 packages that cannot currently be built in a "pure" 64-bit system or require
55 specialized build instructions. Generally, these packages have some embedded
56 32-bit specific assembly language instructions that fail when building on a
57 64-bit system. This includes some Xorg drivers for some legacy video cards at
58 <ulink url="http://xorg.freedesktop.org/releases/individual/driver/">
59 http://xorg.freedesktop.org/releases/individual/driver/</ulink>. Many of these
60 problems can be worked around, but may require some specialized procedures or