Hardened Linux From Scratch - Version SVN-20110904

Preface

iii. LFS Target
Architectures

The primary target architecture of LFS is the 32-bit Intel CPU. If
you have not built an LFS system before, you should probably start
with that target. The 32-bit architecture is the most widely
supported Linux system and is most compatible with both open source
and proprietary software.

On the other hand, the instructions in this book are known to work,
with some modifications, with both Power PC and 64-bit AMD/Intel
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 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.

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 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:

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.

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 Cross Linux From
Scratch project for this advanced topic.

There is one last comment about 64-bit systems. There are some
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 from Beyond Linux From
Scratch (BLFS). Many of these problems can be worked around, but
may require some specialized procedures or patches.