lfs/prologue/architecture.xml

46 lines
2.0 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!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.</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>