aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Dubbs <bdubbs@linuxfromscratch.org>2009-09-10 06:12:28 +0000
committerBruce Dubbs <bdubbs@linuxfromscratch.org>2009-09-10 06:12:28 +0000
commit8988b94cd0f916f39b26d0bd6b122c69c2d9e910 (patch)
tree84c90780bd5f7c03650e027c160dc0c80e21ee5b
parentb8f47e78d4b9cb44086c8a4e0fef658eba4193d2 (diff)
Added a section to the Preface about LFS supported architectures
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9065 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
-rw-r--r--chapter01/changelog.xml10
-rw-r--r--general.ent4
-rw-r--r--prologue/architecture.xml66
-rw-r--r--prologue/preface.xml1
4 files changed, 79 insertions, 2 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index f34c30dda..a9ad6d065 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -38,6 +38,16 @@
-->
<listitem>
+ <para>2009-09-10</para>
+ <itemizedlist>
+ <listitem>
+ <para>[bdubbs] - Added a section to the Preface about LFS
+ supported architectures.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
<para>2009-09-02</para>
<itemizedlist>
<listitem>
diff --git a/general.ent b/general.ent
index a9fa51bfc..8410d5a64 100644
--- a/general.ent
+++ b/general.ent
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!ENTITY version "SVN-20090902">
-<!ENTITY releasedate "September 2, 2009">
+<!ENTITY version "SVN-20090910">
+<!ENTITY releasedate "September 10, 2009">
<!ENTITY copyrightdate "1999-2009"><!-- jhalfs needs a literal dash, not &ndash; -->
<!ENTITY milestone "7.0">
<!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->
diff --git a/prologue/architecture.xml b/prologue/architecture.xml
new file mode 100644
index 000000000..75c29ce36
--- /dev/null
+++ b/prologue/architecture.xml
@@ -0,0 +1,66 @@
+<?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 prerequsite 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>
+
diff --git a/prologue/preface.xml b/prologue/preface.xml
index 5ad84923e..fde09453d 100644
--- a/prologue/preface.xml
+++ b/prologue/preface.xml
@@ -13,6 +13,7 @@
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="foreword.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="audience.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="architecture.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prerequisites.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hostreqs.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="typography.xml"/>