123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?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 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.</para>
- <para>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 these CPUs, the main prerequisite in addition to those on
- the next few pages, is an existing system such as an earlier LFS system,
- Ubuntu, Red Hat/Fedora, SuSE, or other distribution that targets the system
- that you have. Also note that a 32-bit system can be installed and used as a
- host system on a 64-bit AMD/Intel system.</para>
- <para>If you decide to target a 64-bit AMD/Intel system, LFS does have some
- limitations. First, it does not currently provide instructions for a 64-bit
- boot loader. If there is an existing boot loader, it can be used to boot to
- any LFS system you build, but <xref linkend="ch-bootable-grub"/> cannot be
- built on a 64-bit system.</para>
- <para>Some other facts about a 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:</para>
- <screen><computeroutput>Architecture Build Time Build Size
- 32-bit 198.5 minutes 648 MB
- 64-bit 190.6 minutes 709 MB</computeroutput></screen>
- <para>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.</para>
- <para>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 building many applications twice, once for a 32-bit
- system and once for a 64-bit system. Currently this is not directly supported
- in the book, but is under consideration for a future release. In the meantime,
- you can refer to the <ulink url="http://trac.cross-lfs.org/">Cross Linux From
- Scratch</ulink> project for this advanced topic.</para>
- <para>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. Examples include the <ulink
- url="http://www.linuxfromscratch.org/blfs/view/cvs/">Beyond Linux From Scratch
- (BLFS)</ulink> packages Zip and some Xorg drivers. Many of these problems can
- be worked around, but may require some specialized procedures or
- patches.</para>
- </sect1>
|