进入chroot(虚拟根)环境

现在是进入我们的虚拟根环境以便安装我们所需要的其它软件时候了。在你执行chroot前,你必须成为root,因为只有root能执行chroot命令。

成为root后运行下列命令进入chroot环境:

chroot $LFS /static/bin/env -i \
    HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/static/bin \
    /static/bin/bash --login

env 命令的 -i 参数将把chroot环境中的变量全部清除。这之后,只有 HOME, TERM, PS1 和 PATH 变量再次被设置。TERM=$TERM这一句会将chroot环境内的$TERM值设置成与chroot外的相同,这样可以使象vim和less等程序可以正常运行。如果你需要其它的变量,比如 CFLAGS 或 CXXFLAGS,就在这里把它们设好。

从现在开始,$LFS变量就不再需要了,因为用户所做的每件事都现在在LFS分区下(因为现在shell已经把 /mnt/lfs/ 看成 / )。

您必须确保本章和以后章节中的所有命令都是在虚拟根环境下执行的。如果已经离开了这个环境(如重启动等原因),请记住一定要在继续工作以前重新进入chroot并且重新加载proc(马上就将讨论到)。

注意,bash提示中会包含"I have no name!",这个很正常,因为Glibc还没有安装。