6.3. Accesso all'ambiente chroot

E' il momento di accedere all'ambiente chroot allo scopo di iniziare a costruire e installare il sistema LFS definitivo. Sempre come root eseguire il comando seguente per entrare nel piccolo mondo che è, al momento, popolato solamente da tool provvisori:

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

L'opzione -i data al comando env cancellerà tutte le variabili dell'ambiente chroot. Dopo questo solo le variabili HOME, TERM, PS1, e PATH vengono di nuovo definite. Il costrutto TERM=$TERM imposta la variabile TERM all'interno di chroot dandole lo stesso valore che ha fuori da chroot. Queste variabile è necessaria perché programmi come vim e less funzionino correttamente. Se sono necessarie altre variabili, come CFLAGS o CXXFLAGS, questo è un buon posto in cui definirle di nuovo.

D'ora in poi non c'è più bisogno di usare la variabile LFS, perché tutto il lavoro sarà ristretto al file system LFS. Ciò perché alla shell Bash viene detto che adesso $LFS è la directory root (/).

Notare come /tools/bin venga ultimo nel PATH. Questo significa che un tool provvisorio non verrà più utilizzato fino a quando non verrà installata la sua versione finale. Bene, almeno la shell non “ricorda” le locazioni dei binari eseguiti—per questa ragione l'hashing è disabilitato passando l'opzione +h a bash.

Bisogna essere sicuri che tutti i comandi nel resto di questo capitolo e nei seguenti capitoli siano avviato dall'interno dell'ambiente chroot. Se si dovesse aver lasciato questo ambiente per qualsiasi ragione (ad esempio per riavviare), bisogna ricordare di montare prima i file system proc e devpts (discussi nella sezione precedente) e accedere di nuovo a chroot prima di continuare con le installazioni.

Notare che il prompt bash dirà “I have no name!” Questo è normale, poiché il file /etc/passwd non è stato ancora creato.