aboutsummaryrefslogtreecommitdiffstats
path: root/prologue/architecture.xml
blob: 18985776051e6dc62bbfa6267fdced18842e49b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="pre-architecture">
  <?dbhtml filename="architecture.html"?>

  <title>LFS Target Architectures</title>

<para>The primary target architectures of LFS are the AMD/Intel x86 (32-bit)
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 alternative CPUs, the main prerequisite, in
addition to those on the next page, is an existing Linux system such as an
earlier LFS installation, Ubuntu, Red Hat/Fedora, SuSE, or some other distribution
that targets that architecture. (Note that a 32-bit
distribution can be installed and used as a host system on a 64-bit AMD/Intel
computer.)</para>

<para>The gain from building on a 64-bit system, as
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       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 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 good enough. On the other
hand, several packages in BLFS now need more than 4 GB of RAM to be built
and/or to run; if you plan to use LFS as a desktop, the LFS authors
recommend building a 64-bit system.</para>

<para>The default 64-bit build that results from LFS is 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 minimal instructions needed for a
basic Linux system. Some of the LFS/BLFS editors maintain a multilib fork
of LFS, accessible at <ulink
url="https://www.linuxfromscratch.org/~thomas/multilib/index.html"/>. But
that's an advanced topic.</para>

</sect1>