7.4. Entrando no Ambiente Chroot

Agora que todos os pacotes que são exigidos para construir o resto das ferramentas necessárias estão no sistema, é tempo de entrar no ambiente chroot e finalizar a instalação das ferramentas temporárias. Esse ambiente também será usado para instalar o sistema final. Como usuária(o) root, execute o seguinte comando para entrar no ambiente que é, neste momento, povoado apenas com as ferramentas temporárias:

chroot "$LFS" /usr/bin/env -i   \
    HOME=/root                  \
    TERM="$TERM"                \
    PS1='(lfs chroot) \u:\w\$ ' \
    PATH=/usr/bin:/usr/sbin     \
    MAKEFLAGS="-j$(nproc)"      \
    TESTSUITEFLAGS="-j$(nproc)" \
    /bin/bash --login

Se você não quiser usar todos os núcleos lógicos disponíveis, [então] substitua "$(nproc)" pelo número de núcleos lógicos que você deseja usar para construir pacotes neste capítulo e nos capítulos seguintes. As suítes de teste de alguns pacotes (notadamente "Autoconf", "Libtool" e "Tar") no Capítulo 8 não são afetadas por "MAKEFLAGS"; em vez disso, elas usam uma variável de ambiente "TESTSUITEFLAGS". Nós configuramos isso aqui também para executar essas suítes de teste com vários núcleos.

A opção -i dada para o comando env limpará todas as variáveis no ambiente chroot. Depois disso, somente as variáveis HOME, TERM, PS1, e PATH são configuradas novamente. A construção TERM=$TERM configura a variável TERM dentro do chroot para o mesmo valor que fora do chroot. Essa variável é necessária, de modo que aplicativos como o vim e o less possam operar adequadamente. Se outras variáveis forem desejadas, tais como CFLAGS ou CXXFLAGS, [então] esse é um bom lugar para configurá-las.

Deste ponto em diante, não existe mais necessidade de usar a variável LFS, pois todo o trabalho estará restrito ao sistema de arquivos do LFS; o comando chroot executa o shell Bash com o diretório raiz (/) configurado para $LFS.

Observe que /tools/bin não está no PATH. Isso significa que o conjunto de ferramentas cruzadas não mais será usado.

Observe também que o "prompt" do "bash" dirá "I have no name!" Isso é normal porque o arquivo "/etc/passwd" ainda não foi criado.

[Nota]

Nota

É importante que todos os comandos até o final deste capítulo e nos capítulos seguintes sejam executados de dentro do ambiente chroot. Se você deixar esse ambiente por qualquer razão (reinicializar, por exemplo), [então] certifique-se de que os sistemas de arquivos virtuais do núcleo estejam montados como explicado no Seção 7.3.1, “Montando e Povoando /dev” e no Seção 7.3.2, “Montando Sistemas de Arquivos Virtuais do Núcleo” e entre no chroot novamente antes de continuar com a instalação.