必要とするパッケージをインストールする前に、chroot 環境へ入る時が来ました。 しかし、chroot コマンドを実行できるのは root だけなので、chroot を実行する前に root になる必要があります。
以前やったように、echo $LFS を実行して、LFS 環境変数が正しく設定されていることを確かめましょう。 例に従ったなら、/mnt/lfs となるような、お使いの LFS パーティションのマウントポイントが表示されます。
root になって以下のコマンドを実行し chroot 環境へ移行しましょう。
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 |
env コマンドに与えられている -i オプションは chroot 環境から全ての変数を取り除きます。 その後で、HOME, TERM, PS1, PATH 変数だけが再び設定されます。TERM=$TERM という構成は chroot 環境の中の TERM 変数を chroot 環境の外と同じ値に設定します。 この変数は vim や less などのプログラムを正しく操作するのに必要とされます。CFLAGS や CXXFLAGS のような他の変数が必要なら、ここでそれらを再設定しましょう。
これから行なうことは全て LFS ファイルシステム内部に制限されているので、これ以降 LFS 変数を使う必要はありません。 シェルが / だと思うのは実際には chroot コマンドに渡された $LFS の値になります。
/tools/bin はパスの最後になることを注意しましょう。 これは暫定ツールはその最後のバージョンがインストールされるとすぐにもうそれ以降使われなくなることを意味します。 というか、少なくともシェルが実行されたバイナリの位置を思いださなくなる時にはそうなります。このため、ハッシングのスイッチを切るのはもう少し先です。
この章の残りの全てのコマンド、そして以降の章のコマンドが chroot 環境で実行できることを確認しなければいけません。 例えば再起動など、何かの理由でこの環境から離れたら、インストールを続ける前に chroot に再び入り、prov 及び devpts ファイルシステム(あとで説明します)をマウントしなければならないことを思い出してください。
bash プロンプトが "I have no name!" と言ってくることに注意しましょう。これは /etc/passwd ファイルがまだ作られていないので正常なことです。