architecture.xml 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. ]>
  7. <sect1 id="pre-architecture">
  8. <?dbhtml filename="architecture.html"?>
  9. <title>LFS Target Architectures</title>
  10. <para>The primary target architecture of LFS is the 32-bit Intel CPU. If you
  11. have not built an LFS system before, you should probably start with that
  12. target. The 32-bit architecture is the most widely supported Linux system and
  13. is most compatible with both open source and proprietary software.</para>
  14. <para>On the other hand, the instructions in this book are known to work, with
  15. some modifications, with both Power PC and 64-bit AMD/Intel CPUs. To build a
  16. system that utilizes these CPUs, the main prerequisite in addition to those on
  17. the next few pages, is an existing system such as an earlier LFS system,
  18. Ubuntu, Red Hat/Fedora, SuSE, or other distribution that targets the system
  19. that you have. Also note that a 32-bit system can be installed and used as a
  20. host system on a 64-bit AMD/Intel system.</para>
  21. <para>If you decide to target a 64-bit AMD/Intel system, LFS does have some
  22. limitations. First, it does not currently provide instructions for a 64-bit
  23. boot loader. If there is an existing boot loader, it can be used to boot to
  24. any LFS system you build, but <xref linkend="ch-bootable-grub"/> cannot be
  25. built on a 64-bit system.</para>
  26. <para>Some other facts about a 64-bit systems need to be added here. When
  27. compared to a 32-bit system, the sizes of executable programs are slightly
  28. larger and the execution speeds are only slightly faster. For example, in a
  29. test build of LFS-6.5 on a Core2Duo CPU based system, the following statistics
  30. were measured:</para>
  31. <screen><computeroutput>Architecture Build Time Build Size
  32. 32-bit 198.5 minutes 648 MB
  33. 64-bit 190.6 minutes 709 MB</computeroutput></screen>
  34. <para>As you can see, the 64-bit build is only 4% faster and is 9% larger than
  35. the 32-bit build. The gain from going to a 64-bit system is relatively
  36. minimal. Of course, if you have more than 4GB of RAM or want to manipulate
  37. data that exceeds 4GB, the advantages of a 64-bit system are substantial.</para>
  38. <para>The default 64-bit build that results from LFS is considered a "pure"
  39. 64-bit system. That is, it supports 64-bit executables only. Building a
  40. "multi-lib" system requires building many applications twice, once for a 32-bit
  41. system and once for a 64-bit system. Currently this is not directly supported
  42. in the book, but is under consideration for a future release. In the meantime,
  43. you can refer to the <ulink url="http://trac.cross-lfs.org/">Cross Linux From
  44. Scratch</ulink> project for this advanced topic.</para>
  45. <para>There is one last comment about 64-bit systems. There are some packages
  46. that cannot currently be built in a "pure" 64-bit system or require specialized
  47. build instructions. Generally, these packages have some embedded 32-bit
  48. specific assembly language instructions that fail when building on a 64-bit
  49. system. Examples include the <ulink
  50. url="http://www.linuxfromscratch.org/blfs/view/cvs/">Beyond Linux From Scratch
  51. (BLFS)</ulink> packages Zip and some Xorg drivers. Many of these problems can
  52. be worked around, but may require some specialized procedures or
  53. patches.</para>
  54. </sect1>