Prologue indentation.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7227 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Manuel Canales Esparcia 2005-12-18 12:25:25 +00:00
parent 8e8f00393a
commit b330f4a3a2
10 changed files with 353 additions and 329 deletions

View File

@ -1,91 +1,86 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="pre-audience"> <sect1 id="pre-audience">
<title>Audience</title> <?dbhtml filename="audience.html"?>
<?dbhtml filename="audience.html"?>
<para>There are many reasons why somebody would want to read this <title>Audience</title>
book. The principal reason is to install a Linux system
from the source code. A question many people raise is, <quote>why go
through all the hassle of manually building a Linux system from
scratch when you can just download and install an existing
one?</quote> That is a good question and is the impetus for this
section of the book.</para>
<para>One important reason for LFS's existence is to help people learn <para>There are many reasons why somebody would want to read this book.
how a Linux system works from the inside out. Building an LFS system The principal reason is to install a Linux system from the source code.
helps demonstrate what makes Linux tick, and how things work together A question many people raise is, <quote>why go through all the hassle of
and depend on each other. One of the best things that this learning manually building a Linux system from scratch when you can just download
experience provides is the ability to customize Linux to your own and install an existing one?</quote> That is a good question and is the
tastes and needs.</para> impetus for this section of the book.</para>
<para>A key benefit of LFS is that it allows users to have more <para>One important reason for LFS's existence is to help people learn
control over the system without relying on someone else's Linux how a Linux system works from the inside out. Building an LFS system
implementation. With LFS, <emphasis>you</emphasis> are in the helps demonstrate what makes Linux tick, and how things work together
driver's seat and dictate every aspect of the system, such as the and depend on each other. One of the best things that this learning
directory layout and bootscript setup. You also dictate where, why, experience provides is the ability to customize Linux to your own tastes
and how programs are installed.</para> and needs.</para>
<para>Another benefit of LFS is the ability to create a very compact <para>A key benefit of LFS is that it allows users to have more control
Linux system. When installing a regular distribution, one is often over the system without relying on someone else's Linux implementation.
forced to include several programs which are probably never used. With LFS, <emphasis>you</emphasis> are in the driver's seat and dictate
These programs waste disk space, or worse, CPU cycles. It is every aspect of the system, such as the directory layout and bootscript
not difficult to build an LFS system of less than 100 megabytes (MB), setup. You also dictate where, why, and how programs are installed.</para>
which is substantially smaller than the majority of existing installations. Does
this still sound like a lot of space? A few of us have been working on
creating a very small embedded LFS system. We successfully built a
system that was specialized to run the Apache web server with
approximately 8MB of disk space used. Further stripping could bring
this down to 5 MB or less. Try that with a regular distribution!
This is only one of the many benefits of designing your own Linux
implementation.</para>
<para>We could compare Linux distributions to a hamburger purchased at <para>Another benefit of LFS is the ability to create a very compact Linux
a fast-food restaurant&mdash;you have no idea what might be in what system. When installing a regular distribution, one is often forced to
you are eating. LFS, on the other hand, does not give you a hamburger. include several programs which are probably never used. These programs
Rather, LFS provides the recipe to make the exact hamburger desired. waste disk space, or worse, CPU cycles. It is not difficult to build an
This allows users to review the recipe, omit unwanted ingredients, and LFS system of less than 100 megabytes (MB), which is substantially smaller
add your own ingredients to enhance the flavor of the burger. than the majority of existing installations. Does this still sound like a
When you are satisfied with the recipe, move on to preparing it. It lot of space? A few of us have been working on creating a very small
can be made to exact specifications&mdash;broil it, bake it, deep-fry embedded LFS system. We successfully built a system that was specialized
it, or barbecue it.</para> to run the Apache web server with approximately 8MB of disk space used.
Further stripping could bring this down to 5 MB or less. Try that with a
regular distribution! This is only one of the many benefits of designing
your own Linux implementation.</para>
<para>Another analogy that we can use is that of comparing LFS with a <para>We could compare Linux distributions to a hamburger purchased at a
finished house. LFS provides the skeletal plan of a house, but it is up fast-food restaurant&mdash;you have no idea what might be in what you are
to you to build it. LFS maintains the freedom to adjust plans eating. LFS, on the other hand, does not give you a hamburger. Rather,
throughout the process, customizing it to the user's needs and LFS provides the recipe to make the exact hamburger desired. This allows
preferences.</para> users to review the recipe, omit unwanted ingredients, and add your own
ingredients to enhance the flavor of the burger. When you are satisfied
with the recipe, move on to preparing it. It can be made to exact
specifications&mdash;broil it, bake it, deep-fry it, or barbecue it.</para>
<para>An additional advantage of a custom built Linux system is <para>Another analogy that we can use is that of comparing LFS with a
security. By compiling the entire system from source code, you are finished house. LFS provides the skeletal plan of a house, but it is up
empowered to audit everything and apply all the security patches to you to build it. LFS maintains the freedom to adjust plans throughout
desired. It is no longer necessary to wait for somebody else to the process, customizing it to the user's needs and preferences.</para>
compile binary packages that fix a security hole. Unless you
examine the patch and implement it yourself, you have no guarantee
that the new binary package was built correctly and adequately fixes
the problem.</para>
<para>The goal of Linux From Scratch is to build a complete and usable <para>An additional advantage of a custom built Linux system is security.
foundation-level system. Readers who do not wish to build their own By compiling the entire system from source code, you are empowered to audit
Linux system from scratch may not benefit from the information in this everything and apply all the security patches desired. It is no longer
book. If you only want to know what happens while the computer boots, necessary to wait for somebody else to compile binary packages that fix a
we recommend the <quote>From Power Up To Bash Prompt</quote> HOWTO security hole. Unless you examine the patch and implement it yourself, you
located at <ulink url="http://axiom.anu.edu.au/~okeefe/p2b/"/> or on have no guarantee that the new binary package was built correctly and
The Linux Documentation Project's (TLDP) website at <ulink adequately fixes the problem.</para>
url="http://www.tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html"/>.
The HOWTO builds a system which is similar to that of this book,
but it focuses strictly on creating a system capable of booting to a
BASH prompt. Consider your objective. If you wish to build a Linux
system while learning along the way, then this book is your best
choice.</para>
<para>There are too many good reasons to build your own LFS system to <para>The goal of Linux From Scratch is to build a complete and usable
list them all here. This section is only the tip of the iceberg. As foundation-level system. Readers who do not wish to build their own Linux
you continue in your LFS experience, you will find the power that system from scratch may not benefit from the information in this book. If
information and knowledge truly bring.</para> you only want to know what happens while the computer boots, we recommend
the <quote>From Power Up To Bash Prompt</quote> HOWTO located at
<ulink url="http://axiom.anu.edu.au/~okeefe/p2b/"/> or on The Linux
Documentation Project's (TLDP) website at <ulink
url="http://www.tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html"/>.
The HOWTO builds a system which is similar to that of this book, but it
focuses strictly on creating a system capable of booting to a BASH prompt.
Consider your objective. If you wish to build a Linux system while learning
along the way, then this book is your best choice.</para>
<para>There are too many good reasons to build your own LFS system to
list them all here. This section is only the tip of the iceberg. As
you continue in your LFS experience, you will find the power that
information and knowledge truly bring.</para>
</sect1> </sect1>

View File

@ -1,58 +1,66 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<bookinfo> <bookinfo>
<title>Linux From Scratch</title> <title>Linux From Scratch</title>
<subtitle>Version &version;</subtitle> <subtitle>Version &version;</subtitle>
<authorgroup> <authorgroup>
<author><firstname>Gerard</firstname><surname>Beekmans</surname></author> <author>
</authorgroup> <firstname>Gerard</firstname>
<surname>Beekmans</surname>
</author>
</authorgroup>
<copyright id="copyright"> <copyright id="copyright">
<year>1999&ndash;2005</year> <year>1999&ndash;2005</year>
<holder>Gerard Beekmans</holder> <holder>Gerard Beekmans</holder>
</copyright> </copyright>
<legalnotice> <legalnotice>
<para>Copyright (c) 1999&ndash;2005, Gerard Beekmans</para> <para>Copyright (c) 1999&ndash;2005, Gerard Beekmans</para>
<para>All rights reserved.</para> <para>All rights reserved.</para>
<para>Redistribution and use in source and binary forms, with or without <para>Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are modification, are permitted provided that the following conditions are
met:</para> met:</para>
<itemizedlist> <itemizedlist>
<listitem>
<para>Redistributions in any form must retain the above copyright
notice, this list of conditions and the following disclaimer</para>
</listitem>
<listitem>
<para>Neither the name of <quote>Linux From Scratch</quote> nor the
names of its contributors may be used to endorse or promote products
derived from this material without specific prior written
permission</para>
</listitem>
<listitem>
<para>Any material derived from Linux From Scratch must contain
a reference to the <quote>Linux From Scratch</quote> project</para>
</listitem>
</itemizedlist>
<listitem><para>Redistributions in any form must retain the above copyright <para>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
notice, this list of conditions and the following disclaimer</para></listitem> <quote>AS IS</quote> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</para>
<listitem><para>Neither the name of <quote>Linux From Scratch</quote> nor the </legalnotice>
names of its contributors may be used to endorse or promote products derived
from this material without specific prior written permission</para></listitem>
<listitem><para>Any material derived from Linux From Scratch must contain
a reference to the <quote>Linux From Scratch</quote> project</para></listitem>
</itemizedlist>
<para>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS <quote>AS
IS</quote> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</para>
</legalnotice>
</bookinfo> </bookinfo>

View File

@ -1,10 +1,11 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE dedication PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!DOCTYPE dedication PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<dedication>
<title>Dedication</title>
<para>This book is dedicated</para>
</dedication>
<dedication>
<title>Dedication</title>
<para>This book is dedicated</para>
</dedication>

View File

@ -1,20 +1,22 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="pre-errata">
<title>Errata</title>
<?dbhtml filename="errata.html"?>
<para>The software used to create an LFS system is constantly being updated and <sect1 id="pre-errata">
enhanced. Security warnings and bug fixes may become available after the LFS <?dbhtml filename="errata.html"?>
book has been released. To check whether the package versions or instructions in
this release of LFS need any modifications to accommodate security <title>Errata</title>
vulnerabilities or other bug fixes, please visit <ulink url="&errata;"/> before
proceeding with your build. You should note any changes shown and apply them to <para>The software used to create an LFS system is constantly being updated
the relevant section of the book as you progress with building the LFS system. and enhanced. Security warnings and bug fixes may become available after
</para> the LFS book has been released. To check whether the package versions or
instructions in this release of LFS need any modifications to accommodate
security vulnerabilities or other bug fixes, please visit <ulink
url="&errata;"/> before proceeding with your build. You should note any
changes shown and apply them to the relevant section of the book as you
progress with building the LFS system.</para>
</sect1> </sect1>

View File

@ -1,67 +1,67 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="pre-foreword"> <sect1 id="pre-foreword">
<title>Foreword</title> <?dbhtml filename="foreword.html"?>
<?dbhtml filename="foreword.html"?>
<para>My adventures in Linux began in 1998 when I downloaded and <title>Foreword</title>
installed my first distribution. After working with it for a while, I
discovered issues I definitely would have liked to see improved upon.
For example, I didn't like the arrangement of the bootscripts or the way
programs were configured by default. I tried a number of alternative
distributions to address these issues, yet each had its pros and cons.
Finally, I realized that if I wanted full satisfaction from my Linux
system, I would have to build my own from scratch.</para>
<para>What does this mean? I resolved not to use pre-compiled packages <para>My adventures in Linux began in 1998 when I downloaded and
of any kind, nor CD-ROMs or boot disks that would install basic installed my first distribution. After working with it for a while, I
utilities. I would use my current Linux system to develop my own discovered issues I definitely would have liked to see improved upon.
customized system. This <quote>perfect</quote> Linux system would then For example, I didn't like the arrangement of the bootscripts or the way
have the strengths of various systems without their associated programs were configured by default. I tried a number of alternative
weaknesses. In the beginning, the idea was rather daunting, but I distributions to address these issues, yet each had its pros and cons.
remained committed to the idea that a system could be built that would Finally, I realized that if I wanted full satisfaction from my Linux
conform to my needs and desires rather than to a standard that just system, I would have to build my own from scratch.</para>
did not fit what I was looking for.</para>
<para>After sorting through issues such as circular dependencies and <para>What does this mean? I resolved not to use pre-compiled packages
compile-time errors, I created a custom-built Linux system that was of any kind, nor CD-ROMs or boot disks that would install basic
fully operational and suitable to individual needs. This process also utilities. I would use my current Linux system to develop my own
allowed me to create compact and streamlined Linux systems which are customized system. This <quote>perfect</quote> Linux system would then
faster and take up less space than traditional operating systems. I have the strengths of various systems without their associated
called this system a Linux From Scratch system, or an LFS system for weaknesses. In the beginning, the idea was rather daunting, but I
short.</para> remained committed to the idea that a system could be built that would
conform to my needs and desires rather than to a standard that just
did not fit what I was looking for.</para>
<para>As I shared my goals and experiences with other members of the <para>After sorting through issues such as circular dependencies and
Linux community, it became apparent that there was sustained interest compile-time errors, I created a custom-built Linux system that was
in the ideas set forth in my Linux adventures. Such custom-built LFS fully operational and suitable to individual needs. This process also
systems serve not only to meet user specifications and requirements, but allowed me to create compact and streamlined Linux systems which are
also serve as an ideal learning opportunity for programmers and system faster and take up less space than traditional operating systems. I
administrators to enhance their Linux skills. Out of this broadened called this system a Linux From Scratch system, or an LFS system for
interest, the Linux From Scratch Project was born.</para> short.</para>
<para>This <emphasis>Linux From Scratch</emphasis> book provides <para>As I shared my goals and experiences with other members of the
readers with the background and instruction to design and build custom Linux community, it became apparent that there was sustained interest
Linux systems. This book highlights the Linux from Scratch project and in the ideas set forth in my Linux adventures. Such custom-built LFS
the benefits of using this system. Users can dictate all aspects of systems serve not only to meet user specifications and requirements, but
their system, including directory layout, script setup, and security. also serve as an ideal learning opportunity for programmers and system
The resulting system will be compiled completely from the source code, administrators to enhance their Linux skills. Out of this broadened
and the user will be able to specify where, why, and how programs are interest, the Linux From Scratch Project was born.</para>
installed. This book allows readers to fully customize Linux systems
to their own needs and allows users more control over their
system.</para>
<para>I hope you will have a great time working on your own LFS <para>This <emphasis>Linux From Scratch</emphasis> book provides
system, and enjoy the numerous benefits of having a system that is readers with the background and instruction to design and build custom
truly <emphasis>your own</emphasis>.</para> Linux systems. This book highlights the Linux from Scratch project and
the benefits of using this system. Users can dictate all aspects of
their system, including directory layout, script setup, and security.
The resulting system will be compiled completely from the source code,
and the user will be able to specify where, why, and how programs are
installed. This book allows readers to fully customize Linux systems
to their own needs and allows users more control over their
system.</para>
<para></para> <para>I hope you will have a great time working on your own LFS
system, and enjoy the numerous benefits of having a system that is
truly <emphasis>your own</emphasis>.</para>
<literallayout>-- <literallayout>--
Gerard Beekmans Gerard Beekmans
gerard@linuxfromscratch.org</literallayout> gerard@linuxfromscratch.org</literallayout>
</sect1> </sect1>

View File

@ -1,43 +1,46 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="pre-hostreqs"> <sect1 id="pre-hostreqs">
<title>Host System Requirements</title> <?dbhtml filename="hostreqs.html"?>
<?dbhtml filename="hostreqs.html"?>
<para>The host must be running at least a 2.6.2 kernel compiled with GCC-3.0 or <title>Host System Requirements</title>
higher. There are two main reasons for this requirement. First, the Native POSIX
Threading Library (NPTL) test suite will segfault if the host's kernel has not
been compiled with GCC-3.0 or a later version. Second, the 2.6.2 or later
version of the kernel is required for the use of Udev. Udev creates devices
dynamically by reading from the <systemitem
class="filesystem">sysfs</systemitem> file system. However, support for this
filesystem has only recently been implemented in most of the kernel drivers. We
must be sure that all critical system devices get created properly.</para>
<para>In order to determine whether the host kernel meets the <para>The host must be running at least a 2.6.2 kernel compiled with GCC-3.0
requirements outlined above, run the following command:</para> or higher. There are two main reasons for this requirement. First, the Native
POSIX Threading Library (NPTL) test suite will segfault if the host's kernel
has not been compiled with GCC-3.0 or a later version. Second, the 2.6.2 or
later version of the kernel is required for the use of Udev. Udev creates
devices dynamically by reading from the <systemitem
class="filesystem">sysfs</systemitem> file system. However, support for this
filesystem has only recently been implemented in most of the kernel drivers.
We must be sure that all critical system devices get created properly.</para>
<para>In order to determine whether the host kernel meets the requirements
outlined above, run the following command:</para>
<screen role="nodump"><userinput>cat /proc/version</userinput></screen> <screen role="nodump"><userinput>cat /proc/version</userinput></screen>
<para>This will produce output similar to:</para> <para>This will produce output similar to:</para>
<screen><computeroutput>Linux version 2.6.2 (user@host) (gcc version 3.4.0) #1 <screen><computeroutput>Linux version 2.6.2 (user@host) (gcc version 3.4.0) #1
Tue Apr 20 21:22:18 GMT 2004</computeroutput></screen> Tue Apr 20 21:22:18 GMT 2004</computeroutput></screen>
<para>If the results of the above command do not state that the host kernel is <para>If the results of the above command do not state that the host kernel
either 2.6.2 (or later), or that it was not compiled using a GCC-3.0 (or later) is either 2.6.2 (or later), or that it was not compiled using a GCC-3.0 (or
compiler, one will need to be installed. There are two methods you can take to later) compiler, one will need to be installed. There are two methods you
solve this. First, see if your Linux vendor provides a 2.6.2 (or later) kernel can take to solve this. First, see if your Linux vendor provides a 2.6.2 (or
package. If so, you may wish to install it. If your vendor doesn't offer a 2.6.2 later) kernel package. If so, you may wish to install it. If your vendor
(or later) kernel package, or you would prefer not to install it, then you can doesn't offer a 2.6.2 (or later) kernel package, or you would prefer not to
compile a 2.6 kernel yourself. Instructions for compiling the kernel and install it, then you can compile a 2.6 kernel yourself. Instructions for
configuring the boot loader (assuming the host uses GRUB) are located in <xref compiling the kernel and configuring the boot loader (assuming the host
linkend="chapter-bootable"/>. This second option can also be seen as a gauge uses GRUB) are located in <xref linkend="chapter-bootable"/>. This second
of your current Linux skills. If this second requirement is too steep, then the option can also be seen as a gauge of your current Linux skills. If this
LFS book will not likely be much use to you at this time.</para> second requirement is too steep, then the LFS book will not likely be much
use to you at this time.</para>
</sect1> </sect1>

View File

@ -1,40 +1,43 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="pre-organization"> <sect1 id="pre-organization">
<title>Structure</title> <?dbhtml filename="organization.html"?>
<?dbhtml filename="organization.html"?>
<para>This book is divided into the following parts.</para> <title>Structure</title>
<sect2> <para>This book is divided into the following parts.</para>
<title>Part I - Introduction</title>
<para>Part I explains a few important notes on how to proceed with the <sect2>
LFS installation. This section also provides meta-information about <title>Part I - Introduction</title>
the book.</para>
</sect2>
<sect2> <para>Part I explains a few important notes on how to proceed with the
<title>Part II - Preparing for the Build</title> LFS installation. This section also provides meta-information about
the book.</para>
</sect2>
<para>Part II describes how to prepare for the building process&mdash;making <sect2>
a partition, downloading the packages, and compiling temporary <title>Part II - Preparing for the Build</title>
tools.</para>
</sect2>
<sect2> <para>Part II describes how to prepare for the building process&mdash;making
<title>Part III - Building the LFS System</title> a partition, downloading the packages, and compiling temporary
tools.</para>
</sect2>
<para>Part III guides the reader through the building of the LFS <sect2>
system&mdash;compiling and installing all the packages one by one, <title>Part III - Building the LFS System</title>
setting up the boot scripts, and installing the kernel. The resulting
Linux system is the foundation on which other software can be built to <para>Part III guides the reader through the building of the LFS
expand the system as desired. At the end of this book, there is an system&mdash;compiling and installing all the packages one by one,
easy to use reference listing all of the programs, libraries, and setting up the boot scripts, and installing the kernel. The resulting
important files that have been installed.</para> Linux system is the foundation on which other software can be built to
</sect2> expand the system as desired. At the end of this book, there is an
easy to use reference listing all of the programs, libraries, and
important files that have been installed.</para>
</sect2>
</sect1> </sect1>

View File

@ -1,19 +1,22 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<preface id="preface">
<?dbhtml dir="prologue"?>
<title>Preface</title>
<?dbhtml filename="preface.html"?>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="foreword.xml"/> <preface id="preface">
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="audience.xml"/> <?dbhtml dir="prologue"?>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prerequisites.xml"/> <?dbhtml filename="preface.html"?>
<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"/> <title>Preface</title>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="organization.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="errata.xml"/> <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="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"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="organization.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="errata.xml"/>
</preface> </preface>

View File

@ -1,50 +1,59 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="pre-prerequisites"> <sect1 id="pre-prerequisites">
<title>Prerequisites</title> <?dbhtml filename="prerequisites.html"?>
<?dbhtml filename="prerequisites.html"?>
<para>Building an LFS system is not a simple task. It requires a certain level <title>Prerequisites</title>
of existing knowledge of Unix system administration in order to resolve
problems, and correctly execute the commands listed. In particular, as an
absolute minimum, the reader should already have the ability to use the command
line (shell) to copy or move files and directories, list directory and file
contents, and change the current directory. It is also expected that the reader
has a reasonable knowledge of using and installing Linux software.</para>
<para>Because the LFS book assumes <emphasis>at least</emphasis> this basic <para>Building an LFS system is not a simple task. It requires a certain
level of skill, the various LFS support forums are unlikely to be able to level of existing knowledge of Unix system administration in order to resolve
provide you with much assistance; you will find that your questions regarding problems, and correctly execute the commands listed. In particular, as an
such basic knowledge will likely go unanswered, or you will simply be referred absolute minimum, the reader should already have the ability to use the
to the LFS essential pre-reading list.</para> command line (shell) to copy or move files and directories, list directory
and file contents, and change the current directory. It is also expected that
the reader has a reasonable knowledge of using and installing Linux
software.</para>
<para>Before building an LFS system, we recommend reading the following HOWTOs: <para>Because the LFS book assumes <emphasis>at least</emphasis> this basic
</para> level of skill, the various LFS support forums are unlikely to be able to
provide you with much assistance; you will find that your questions regarding
such basic knowledge will likely go unanswered, or you will simply be referred
to the LFS essential pre-reading list.</para>
<itemizedlist> <para>Before building an LFS system, we recommend reading the following
<listitem><para>Software-Building-HOWTO HOWTOs:</para>
<ulink url="http://www.tldp.org/HOWTO/Software-Building-HOWTO.html"/></para>
<para>This is a comprehensive guide to building and installing <itemizedlist>
<quote>generic</quote> Unix software distributions under Linux.</para></listitem> <listitem>
<para>Software-Building-HOWTO
<ulink url="http://www.tldp.org/HOWTO/Software-Building-HOWTO.html"/></para>
<listitem><para>The Linux Users' Guide <para>This is a comprehensive guide to building and installing
<ulink url="http://www.linuxhq.com/guides/LUG/guide.html"/></para> <quote>generic</quote> Unix software distributions under Linux.</para>
</listitem>
<para>This guide covers the usage of assorted Linux software.</para></listitem> <listitem>
<para>The Linux Users' Guide
<ulink url="http://www.linuxhq.com/guides/LUG/guide.html"/></para>
<listitem><para>The Essential Pre-Reading Hint <para>This guide covers the usage of assorted Linux software.</para>
<ulink url="&hints-root;essential_prereading.txt"/></para> </listitem>
<para>This is an LFS Hint written specifically for users new to Linux. <listitem>
It includes a list of links to excellent sources of information on a <para>The Essential Pre-Reading Hint
wide range of topics. Anyone attempting to install LFS should have an <ulink url="&hints-root;essential_prereading.txt"/></para>
understanding of many of the topics in this hint.</para></listitem>
</itemizedlist> <para>This is an LFS Hint written specifically for users new to Linux.
It includes a list of links to excellent sources of information on a
wide range of topics. Anyone attempting to install LFS should have an
understanding of many of the topics in this hint.</para>
</listitem>
</itemizedlist>
</sect1> </sect1>

View File

@ -1,41 +1,41 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="pre-typography">
<title>Typography</title>
<?dbhtml filename="typography.html"?>
<para>To make things easier to follow, there are a few typographical <sect1 id="pre-typography">
conventions used throughout this book. This section contains some <?dbhtml filename="typography.html"?>
examples of the typographical format found throughout Linux From
Scratch.</para> <title>Typography</title>
<para>To make things easier to follow, there are a few typographical
conventions used throughout this book. This section contains some
examples of the typographical format found throughout Linux From
Scratch.</para>
<screen role="nodump"><userinput>./configure --prefix=/usr</userinput></screen> <screen role="nodump"><userinput>./configure --prefix=/usr</userinput></screen>
<para>This form of text is designed to be typed exactly as seen unless <para>This form of text is designed to be typed exactly as seen unless
otherwise noted in the surrounding text. It is also used in the otherwise noted in the surrounding text. It is also used in the explanation
explanation sections to identify which of the commands is being sections to identify which of the commands is being referenced.</para>
referenced.</para>
<screen><computeroutput>install-info: unknown option '--dir-file=/mnt/lfs/usr/info/dir'</computeroutput></screen> <screen><computeroutput>install-info: unknown option '--dir-file=/mnt/lfs/usr/info/dir'</computeroutput></screen>
<para>This form of text (fixed-width text) shows screen output, <para>This form of text (fixed-width text) shows screen output, probably as
probably as the result of commands issued. This format is also used the result of commands issued. This format is also used to show filenames,
to show filenames, such as such as <filename>/etc/ld.so.conf</filename>.</para>
<filename>/etc/ld.so.conf</filename>.</para>
<para><emphasis>Emphasis</emphasis></para> <para><emphasis>Emphasis</emphasis></para>
<para>This form of text is used for several purposes in the book. Its main <para>This form of text is used for several purposes in the book. Its main
purpose is to emphasize important points or items.</para> purpose is to emphasize important points or items.</para>
<para><ulink url="&lfs-root;"/></para> <para><ulink url="&lfs-root;"/></para>
<para>This format is used for hyperlinks both within the LFS <para>This format is used for hyperlinks both within the LFS community and to
community and to external pages. It includes HOWTOs, download locations, external pages. It includes HOWTOs, download locations, and websites.</para>
and websites.</para>
<screen role="nodump"><userinput>cat &gt; $LFS/etc/group &lt;&lt; "EOF" <screen role="nodump"><userinput>cat &gt; $LFS/etc/group &lt;&lt; "EOF"
<literal>root:x:0: <literal>root:x:0:
@ -43,35 +43,35 @@ bin:x:1:
......</literal> ......</literal>
EOF</userinput></screen> EOF</userinput></screen>
<para>This format is used when creating configuration files. The first <para>This format is used when creating configuration files. The first command
command tells the system to create the file tells the system to create the file <filename>$LFS/etc/group</filename> from
<filename>$LFS/etc/group</filename> from whatever is typed on the whatever is typed on the following lines until the sequence end of file (EOF)
following lines until the sequence end of file (EOF) is encountered. is encountered. Therefore, this entire section is generally typed as
Therefore, this entire section is generally typed as seen.</para> seen.</para>
<para><replaceable>[REPLACED TEXT]</replaceable></para> <para><replaceable>[REPLACED TEXT]</replaceable></para>
<para>This format is used to encapsulate text that is not to be typed <para>This format is used to encapsulate text that is not to be typed
as seen or copied-and-pasted.</para> as seen or copied-and-pasted.</para>
<para><filename>passwd(5)</filename></para> <para><filename>passwd(5)</filename></para>
<para>This format is used to refer to a specific manual page (hereinafter <para>This format is used to refer to a specific manual page (hereinafter
referred to simply as a <quote>man</quote> page). The number inside parentheses referred to simply as a <quote>man</quote> page). The number inside parentheses
indicates a specific section inside of <command>man</command>. For example, indicates a specific section inside of <command>man</command>. For example,
<command>passwd</command> has two man pages. Per LFS installation instructions, <command>passwd</command> has two man pages. Per LFS installation instructions,
those two man pages will be located at those two man pages will be located at
<filename>/usr/share/man/man1/passwd.1</filename> and <filename>/usr/share/man/man1/passwd.1</filename> and
<filename>/usr/share/man/man5/passwd.5</filename>. Both man pages have different <filename>/usr/share/man/man5/passwd.5</filename>. Both man pages have different
information in them. When the book uses <filename>passwd(5)</filename> it is information in them. When the book uses <filename>passwd(5)</filename> it is
specifically referring to <filename>/usr/share/man/man5/passwd.5</filename>. specifically referring to <filename>/usr/share/man/man5/passwd.5</filename>.
<command>man passwd</command> will print the first man page it finds that <command>man passwd</command> will print the first man page it finds that
matches <quote>passwd</quote>, which will be matches <quote>passwd</quote>, which will be
<filename>/usr/share/man/man1/passwd.1</filename>. For this example, you will <filename>/usr/share/man/man1/passwd.1</filename>. For this example, you will
need to run <command>man 5 passwd</command> in order to read the specific page need to run <command>man 5 passwd</command> in order to read the specific page
being referred to. It should be noted that most man pages do not have duplicate being referred to. It should be noted that most man pages do not have duplicate
page names in different sections. Therefore, <command>man <replaceable>[program page names in different sections. Therefore, <command>man <replaceable>[program
name]</replaceable></command> is generally sufficient.</para> name]</replaceable></command> is generally sufficient.</para>
</sect1> </sect1>