Entrar al entorno chroot

Es hora de entrar en el entorno chroot para iniciar la construcción e instalar tu sistema LFS final. Siendo toavía root ejecuta el siguiente comando para entrar al paqueño mundo que está, en este momento, poblado sólo por las herramientas temporales.

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

La opción -i pasada al comando env limpiará todas las variables del chroot. Después de esto, solamente se establecen de nuevo las variables HOME, TERM, PS1 y PATH. La construcción TERM=$TERM establece la variable TERM dentro del chroot al mismo valor que tiene fuera del chroot. Dicha variable es necesaria para que funcionen correctamente programas como vim y less. Si necesitas tener presentes otras variables, como CFLAGS o CXXFLAGS, este es un buen sitio para establecerlas.

Desde este punto ya no es necesario utilizar la variable LFS porque todo lo que hagas estará restringido al sistema de ficheros LFS -- ya que lo que el intérprete de comandos piensa que es / en realidad es el valor de $LFS, que se le pasó al comando chroot.

Advierte que /tools/bin queda el último en el PATH. Esto significa que una herramienta temporal no volverá a usarse a partir de que se instale su versión final. Bueno, al menos cuando el intérprete de comandos no recuerda la localización de los binarios ejecutados; por esta razón se desactiva la tabla interna de rutas pasandole la opción +h a bash.

Debes asegurarte de que todos los comandos que aparecen en el resto de este y los siguientes capítulos son ejecutados dentro del entorno chroot. Si por alguna razón abandonas este entorno (tras un reinicio, por ejemplo), debes recordar montar primero los sistemas de ficheros proc y devpts (como explicamos en la sección anterior) y entrar de nuevo en el chroot antes de seguir con las instalaciones.

Ten en cuenta que en la línea de entrada de comandos de bash pondrá: “I have no name!” (¡No tengo nombre!). Esto es normal pues el fichero /etc/passwd aún no ha sido creado.