1 | <sect1 id="ch06-chroot">
|
---|
2 | <title>Entering the chroot environment</title>
|
---|
3 | <?dbhtml filename="chroot.html" dir="chapter06"?>
|
---|
4 |
|
---|
5 | <para>It is time to enter the chroot environment in order to begin installing
|
---|
6 | the packages we need. Before you can chroot, however, you need to become
|
---|
7 | <emphasis>root</emphasis>, since only <emphasis>root</emphasis>
|
---|
8 | can execute the <userinput>chroot</userinput> command.</para>
|
---|
9 |
|
---|
10 | <para>Become <emphasis>root</emphasis> and run the following command
|
---|
11 | to enter the chroot environment:</para>
|
---|
12 |
|
---|
13 | <para><screen><userinput>chroot $LFS /static/bin/env -i \
|
---|
14 | HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
|
---|
15 | PATH=/bin:/usr/bin:/sbin:/usr/sbin:/static/bin \
|
---|
16 | /static/bin/bash --login</userinput></screen>
|
---|
17 | </para>
|
---|
18 |
|
---|
19 | <para>The <userinput>-i</userinput> option given to the
|
---|
20 | <userinput>env</userinput> command will clear all variables of the chroot
|
---|
21 | environment. After that, only the HOME, TERM, PS1 and PATH variables are
|
---|
22 | set again. The TERM=$TERM construct will set the TERM variable inside chroot
|
---|
23 | to the same value as outside chroot; this variable is needed for programs
|
---|
24 | like vim and less to operate properly. If you need other variables present,
|
---|
25 | such as CFLAGS or CXXFLAGS, this is a good place to set them again.</para>
|
---|
26 |
|
---|
27 | <para>From this point on there's no need anymore to use the LFS variable,
|
---|
28 | because everything you do will be restricted to the LFS file system -- since
|
---|
29 | what the shell thinks is <filename class="directory">/</filename> is actually
|
---|
30 | <filename class="directory">/mnt/lfs</filename>.</para>
|
---|
31 |
|
---|
32 | <para>You have to make sure all the commands in the rest of this chapter and
|
---|
33 | in the following chapters are run from within the chroot environment.
|
---|
34 | If you ever leave this environment for any reason (rebooting for example),
|
---|
35 | you must remember to again enter chroot and mount proc (discussed later)
|
---|
36 | before continuing with the installations.</para>
|
---|
37 |
|
---|
38 | <para>Note that the bash prompt will say "I have no name!" This is
|
---|
39 | normal, as the Glibc package hasn't been installed yet.</para>
|
---|
40 |
|
---|
41 | </sect1>
|
---|
42 |
|
---|