decorate usernames with <systemitem>
[linux_from_scratch.git] / BOOK / prologue / architecture.xml
blob9916840f58aec753e5c0d733eb043572a3afc874
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">
5   %general-entities;
6 ]>
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 page, 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
21 computer.</para>
23 <para>For building LFS, the gain of building on a 64-bit system
24 compared to a 32-bit system is minimal.
25 For example, in a test build of LFS-9.1 on a Core i7-4790 CPU based system,
26 using 4 cores, the following statistics were measured:</para>
28 <screen><computeroutput>Architecture Build Time     Build Size
29 32-bit       239.9 minutes  3.6 GB
30 64-bit       233.2 minutes  4.4 GB</computeroutput></screen>
32 <para>As you can see, on the same hardware, the 64-bit build is only 3% faster
33 and is 22% larger than the 32-bit build. If you plan to use LFS as a LAMP
34 server, or a firewall, a 32-bit CPU may be largely sufficient. On the other
35 hand, several packages in BLFS now need more than 4GB of RAM to be built
36 and/or to run, so that if you plan to use LFS as a desktop, the LFS authors
37 recommend building on a 64-bit system.</para>
39 <para>The default 64-bit build that results from LFS is considered a
40 <quote>pure</quote> 64-bit system. That is, it supports 64-bit executables
41 only. Building a <quote>multi-lib</quote> system requires compiling many
42 applications twice, once for a 32-bit system and once for a 64-bit system.
43 This is not directly supported in LFS because it would interfere with the
44 educational objective of providing the instructions needed for a
45 straightforward base Linux system. Some LFS/BLFS editors maintain a fork
46 of LFS for multilib, which is accessible at <ulink
47 url="http://www.linuxfromscratch.org/~thomas/multilib/index.html"/>. But it
48 is an advanced topic.</para>
50 </sect1>