aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chapter01/changelog.xml10
-rw-r--r--chapter01/how.xml2
-rw-r--r--chapter02/aboutlfs.xml50
-rw-r--r--chapter02/chapter02.xml1
-rw-r--r--chapter04/chapter04.xml3
-rw-r--r--chapter04/introduction.xml22
-rw-r--r--chapter04/settingenviron.xml9
-rw-r--r--chapter05/util-linux.xml1
-rw-r--r--chapter06/createfiles.xml83
-rw-r--r--packages.ent2
10 files changed, 174 insertions, 9 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 6a636e2cf..0fe3a95c8 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -39,6 +39,16 @@
<para>2014-06-11</para>
<itemizedlist>
<listitem>
+ <para>[bdubbs] - Several text changes. Thanks to Chris
+ Staub for the patches. Fixes
+ <ulink url="&lfs-ticket-root;3600">#3600</ulink>,
+ <ulink url="&lfs-ticket-root;3601">#3601</ulink>,
+ <ulink url="&lfs-ticket-root;3602">#3602</ulink>,
+ <ulink url="&lfs-ticket-root;3603">#3603</ulink>, and
+ <ulink url="&lfs-ticket-root;3604">#3604</ulink>,
+ </para>
+ </listitem>
+ <listitem>
<para>[bdubbs] - Update to iproute2-3.15.0. Fixes
<ulink url="&lfs-ticket-root;3608">#3608</ulink>.</para>
</listitem>
diff --git a/chapter01/how.xml b/chapter01/how.xml
index 6638ac6cd..4e0c506cc 100644
--- a/chapter01/how.xml
+++ b/chapter01/how.xml
@@ -11,7 +11,7 @@
<title>How to Build an LFS System</title>
<para>The LFS system will be built by using an already installed
- Linux distribution (such as Debian, Mandriva, Red Hat, or SUSE). This
+ Linux distribution (such as Debian, OpenMandriva, Fedora, or openSUSE). This
existing Linux system (the host) will be used as a starting point to
provide necessary programs, including a compiler, linker, and shell,
to build the new system. Select the <quote>development</quote> option
diff --git a/chapter02/aboutlfs.xml b/chapter02/aboutlfs.xml
new file mode 100644
index 000000000..fe8a97902
--- /dev/null
+++ b/chapter02/aboutlfs.xml
@@ -0,0 +1,50 @@
+<?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="ch-partitioning-aboutlfs">
+ <?dbhtml filename="aboutlfs.html"?>
+
+ <title>Setting The $LFS Variable</title>
+
+ <para>Throughout this book, the environment variable <envar>LFS</envar> will
+ be used several times. You should ensure that this variable is always defined
+ throughout the LFS build process. It should be set to the name of the
+ directory where you will be building your LFS system - we will use
+ <filename class="directory">/mnt/lfs</filename> as an example, but the
+ directory choice is up to you. If you are building LFS on a separate
+ partition, this directory will be the mount point for the partition.
+ Choose a directory location and set the variable with the
+ following command:</para>
+
+<screen role="nodump"><userinput>export LFS=<replaceable>/mnt/lfs</replaceable></userinput></screen>
+
+ <para>Having this variable set is beneficial in that commands such as
+ <command>mkdir -v $LFS/tools</command> can be typed literally. The shell
+ will automatically replace <quote>$LFS</quote> with
+ <quote>/mnt/lfs</quote> (or whatever the variable was set to) when it
+ processes the command line.</para>
+
+ <para>Do not forget to check that <envar>LFS</envar> is set whenever
+ you leave and reenter the current working environment (such as when doing a
+ <command>su</command> to <systemitem class="username">root</systemitem> or
+ another user). Check that the <envar>LFS</envar> variable is set up
+ properly with:</para>
+
+<screen role="nodump"><userinput>echo $LFS</userinput></screen>
+
+ <para>Make sure the output shows the path to your LFS system's build
+ location, which is <filename class="directory">/mnt/lfs</filename> if the
+ provided example was followed. If the output is incorrect, use the command
+ given earlier on this page to set <envar>$LFS</envar> to the correct
+ directory name.</para>
+
+ <note><para>One way to ensure that the <envar>LFS</envar> variable is always
+ set is to edit the <filename>.bash_profile</filename> file in both your
+ personal home directory and in <filename>/root/.bash_profile</filename> and
+ enter the export command above. </para></note>
+
+</sect1>
diff --git a/chapter02/chapter02.xml b/chapter02/chapter02.xml
index 4402a6d9d..84484ccce 100644
--- a/chapter02/chapter02.xml
+++ b/chapter02/chapter02.xml
@@ -15,5 +15,6 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="creatingpartition.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="creatingfilesystem.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mounting.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="aboutlfs.xml"/>
</chapter>
diff --git a/chapter04/chapter04.xml b/chapter04/chapter04.xml
index b7f5cb2d4..fe3cdbd74 100644
--- a/chapter04/chapter04.xml
+++ b/chapter04/chapter04.xml
@@ -11,7 +11,8 @@
<title>Final Preparations</title>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="aboutlfs.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction.xml"/>
+ <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="aboutlfs.xml"/>-->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="creatingtoolsdir.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="addinguser.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="settingenviron.xml"/>
diff --git a/chapter04/introduction.xml b/chapter04/introduction.xml
new file mode 100644
index 000000000..11ef06e0c
--- /dev/null
+++ b/chapter04/introduction.xml
@@ -0,0 +1,22 @@
+<?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="prepare-introduction">
+ <?dbhtml filename="introduction.html"?>
+
+ <title>Introduction</title>
+
+ <para>In this chapter, we will perform a few additional tasks to prepare
+ for building the temporary system. We will create a directory in
+ <filename class="directory">$LFS</filename> for the installation of the
+ temporary tools, add an unprivileged user to reduce risk,
+ and create an appropriate build environment for that user. We will also
+ explain the unit of time we use to measure how long LFS packages take to
+ build, or <quote>SBUs</quote>, and give some information about package
+ test suites.</para>
+
+</sect1>
diff --git a/chapter04/settingenviron.xml b/chapter04/settingenviron.xml
index 485269e3b..02cd717d4 100644
--- a/chapter04/settingenviron.xml
+++ b/chapter04/settingenviron.xml
@@ -70,12 +70,9 @@ EOF</userinput></screen>
<para>The <envar>LC_ALL</envar> variable controls the localization of certain
programs, making their messages follow the conventions of a specified country.
- If the host system uses a version of Glibc older than 2.2.4, having
- <envar>LC_ALL</envar> set to something other than <quote>POSIX</quote> or
- <quote>C</quote> (during this chapter) may cause issues if you exit the chroot
- environment and wish to return later. Setting <envar>LC_ALL</envar> to
- <quote>POSIX</quote> or <quote>C</quote> (the two are equivalent) ensures that
- everything will work as expected in the chroot environment.</para>
+ Setting <envar>LC_ALL</envar> to <quote>POSIX</quote> or <quote>C</quote>
+ (the two are equivalent) ensures that everything will work as expected in
+ the chroot environment.</para>
<para>The <envar>LFS_TGT</envar> variable sets a non-default, but compatible machine
description for use when building our cross compiler and linker and when cross
diff --git a/chapter05/util-linux.xml b/chapter05/util-linux.xml
index 07b8282e6..1b25e50f3 100644
--- a/chapter05/util-linux.xml
+++ b/chapter05/util-linux.xml
@@ -18,6 +18,7 @@
<indexterm zone="ch-tools-util-linux">
<primary sortas="a-Util-linux">Util-linux</primary>
+ <secondary>tools</secondary>
</indexterm>
<sect2 role="package">
diff --git a/chapter06/createfiles.xml b/chapter06/createfiles.xml
index 76fc5174a..1aa193ec8 100644
--- a/chapter06/createfiles.xml
+++ b/chapter06/createfiles.xml
@@ -46,6 +46,89 @@ ln -sv /tools/lib/libstdc++.so{,.6} /usr/lib
sed 's/tools/usr/' /tools/lib/libstdc++.la > /usr/lib/libstdc++.la
ln -sv bash /bin/sh</userinput></screen>
+ <variablelist>
+ <title>The purpose of each link:</title>
+
+ <varlistentry>
+ <term><parameter><filename>/bin/bash</filename></parameter></term>
+ <listitem>
+ <para>Many <command>bash</command> scripts specify
+ <filename>/bin/bash</filename>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter><filename>/bin/cat</filename></parameter></term>
+ <listitem>
+ <para>This pathname is hard-coded into Glibc's configure script.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter><filename>/bin/echo</filename></parameter></term>
+ <listitem>
+ <para>This is to satisfy one of the tests in Glibc's test suite, which
+ expects <filename>/bin/echo</filename>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter><filename>/bin/pwd</filename></parameter></term>
+ <listitem>
+ <para>Some <command>configure</command> scripts, particularly Glibc's,
+ have this pathname hard-coded.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter><filename>/bin/stty</filename></parameter></term>
+ <listitem>
+ <para>This pathname is hard-coded into Expect, therefore it is needed
+ for Binutils and GCC test suites to pass.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter><filename>/usr/bin/perl</filename></parameter></term>
+ <listitem>
+ <para>Many Perl scripts hard-code this path to the
+ <command>perl</command> program.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter><filename>/usr/lib/libgcc_s.so{,.1}</filename></parameter></term>
+ <listitem>
+ <para>Glibc needs this for the pthreads library to work.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter><filename>/usr/lib/libstdc++{,.6}</filename></parameter></term>
+ <listitem>
+ <para>This is needed by several tests in Glibc's test suite, as well as
+ for C++ support in GMP.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter><filename>/usr/lib/libstdc++.la</filename></parameter></term>
+ <listitem>
+ <para>This prevents a <filename class="directory">/tools</filename>
+ reference that would otherwise be in
+ <filename>/usr/lib/libstdc++.la</filename> after GCC is installed.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><parameter><filename>/bin/sh</filename></parameter></term>
+ <listitem>
+ <para>Many shell scripts hard-code <filename>/bin/sh</filename>.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
<para>Historically, Linux maintains a list of the mounted file systems in the
file <filename>/etc/mtab</filename>. Modern kernels maintain this list
internally and exposes it to the user via the <filename
diff --git a/packages.ent b/packages.ent
index 72c922cc3..c985f27b8 100644
--- a/packages.ent
+++ b/packages.ent
@@ -318,7 +318,7 @@
<!ENTITY iana-etc-size "201 KB">
<!ENTITY iana-etc-url "&anduin-sources;iana-etc/iana-etc-&iana-etc-version;.tar.bz2">
<!ENTITY iana-etc-md5 "3ba3afb1d1b261383d247f46cb135ee8">
-<!ENTITY iana-etc-home "http://freshmeat.net/projects/iana-etc/">
+<!ENTITY iana-etc-home "http://freecode.com/projects/iana-etc">
<!ENTITY iana-etc-ch6-du "2.2 MB">
<!ENTITY iana-etc-ch6-sbu "less than 0.1 SBU">