aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/chroot.xml
diff options
context:
space:
mode:
authorMatthew Burgess <matthew@linuxfromscratch.org>2004-05-03 10:59:46 +0000
committerMatthew Burgess <matthew@linuxfromscratch.org>2004-05-03 10:59:46 +0000
commit673b0d84ba9591e07c0bdf0ee49d92eba10f502c (patch)
tree129e27a1450727b440da4378e0117a468eb9c25e /chapter06/chroot.xml
parent287ea55da70ceb1f0990554b7db921d525fef816 (diff)
* Merged newxml into HEAD
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3435 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter06/chroot.xml')
-rw-r--r--chapter06/chroot.xml53
1 files changed, 53 insertions, 0 deletions
diff --git a/chapter06/chroot.xml b/chapter06/chroot.xml
new file mode 100644
index 000000000..08d74ea53
--- /dev/null
+++ b/chapter06/chroot.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-system-chroot">
+<title>Entering the chroot environment</title>
+<?dbhtml filename="chroot.html"?>
+
+<para>It is time to enter the chroot environment in order to begin building
+and installing your final LFS system. Still as <emphasis>root</emphasis> run
+the following command to enter the small world that is, at the moment,
+populated with only the temporary tools:</para>
+
+<screen><userinput>chroot "$LFS" /tools/bin/env -i \
+ HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
+ PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
+ /tools/bin/bash --login +h</userinput></screen>
+
+<para>The <emphasis>-i</emphasis> option given to the
+<command>env</command> command will clear all variables of the chroot
+environment. After that, only the HOME, TERM, PS1 and PATH variables are
+set again. The TERM=$TERM construct will set the TERM variable inside chroot
+to the same value as outside chroot; this variable is needed for programs
+like <command>vim</command> and <command>less</command> to operate
+properly. If you need other variables present, such as CFLAGS or CXXFLAGS,
+this is a good place to set them again.</para>
+
+<para>From this point on there's no need to use the LFS variable anymore,
+because everything you do will be restricted to the LFS file system -- since
+what the shell thinks is <filename class="directory">/</filename> is actually
+the value of <filename class="directory">$LFS</filename>, which was passed to
+the chroot command.</para>
+
+<para>Notice that <filename class="directory">/tools/bin</filename> comes
+last in the PATH. This means that a temporary tool will not be used any more
+as soon as its final version is installed. Well, at least when the shell
+doesn't remember the locations of executed binaries -- for this reason hashing
+is switched off by passing the <emphasis>+h</emphasis> option to
+<command>bash</command>.</para>
+
+<para>You have to make sure all the commands in the rest of this chapter and
+in the following chapters are run from within the chroot environment.
+If you ever leave this environment for any reason (rebooting for example),
+you must remember to first mount the proc and devpts file systems (discussed
+in the previous section) <emphasis>and</emphasis> enter chroot again before
+continuing with the installations.</para>
+
+<para>Note that the bash prompt will say <quote>I have no name!</quote> This is
+normal, as the <filename>/etc/passwd</filename> file has not been created yet.
+</para>
+
+</sect1>