123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- <sect1 id="ch06-chroot">
- <title>Entering the chroot environment</title>
- <?dbhtml filename="chroot.html" dir="chapter06"?>
- <para>It is time to enter the chroot environment in order to begin installing
- the packages we need. Before you can chroot, however, you need to become
- <emphasis>root</emphasis>, since only <emphasis>root</emphasis>
- can execute the <userinput>chroot</userinput> command.</para>
- <para>Become <emphasis>root</emphasis> and run the following command
- to enter the chroot environment:</para>
- <para><screen><userinput>chroot $LFS /stage1/bin/env -i \
- HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
- PATH=/bin:/usr/bin:/sbin:/usr/sbin:/stage1/bin \
- /stage1/bin/bash --login</userinput></screen>
- </para>
- <para><screen><userinput>set +h</userinput></screen></para>
- <para>The <userinput>-i</userinput> option given to the
- <userinput>env</userinput> 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 vim and less 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>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 again enter chroot and mount proc (discussed later)
- before continuing with the installations.</para>
- <para>Note that the bash prompt will say "I have no name!" This is
- normal, as the Glibc package hasn't been installed yet.</para>
- </sect1>
|