diff options
author | Matthew Burgess <matthew@linuxfromscratch.org> | 2004-05-03 10:59:46 +0000 |
---|---|---|
committer | Matthew Burgess <matthew@linuxfromscratch.org> | 2004-05-03 10:59:46 +0000 |
commit | 673b0d84ba9591e07c0bdf0ee49d92eba10f502c (patch) | |
tree | 129e27a1450727b440da4378e0117a468eb9c25e /chapter06/chroot.xml | |
parent | 287ea55da70ceb1f0990554b7db921d525fef816 (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.xml | 53 |
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> |