6.4. Accesso all'ambiente chroot

È il momento di accedere all'ambiente chroot per iniziare a costruire e installare il sistema LFS definitivo. Come utente root eseguire il comando seguente per entrare nell'ambiente che è, al momento, popolato solamente dai 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 imposterà la variabile TERM all'interno di chroot dandole lo stesso valore che ha fuori da chroot. Questa variabile è necessaria perché programmi come vim e less funzionino correttamente. Se sono necessarie altre variabili, come CFLAGS o CXXFLAGS, questo è un momento buono per 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 sia all'ultimo posto nel PATH. Questo significa che un tool provvisorio non verrà più utilizzato una volta che sarà installata la sua versione finale. Questo accade perché la shell non «ricorda» le locazioni dei binari eseguiti—per questa ragione l'hashing viene disabilitato passando l'opzione +h a bash.

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

[Nota]

Nota

È importante che tutti i comandi nel resto di questo capitolo e nei seguenti capitoli siano avviati dall'interno dell'ambiente chroot. Se si dovesse lasciare questo ambiente per qualsiasi ragione (ad esempio per riavviare), assicurarsi che i file system virtuali del kernel siano montati come spiegato in Sezione 6.2.2, «Montaggio e popolamento di /dev» e in Sezione 6.2.3, «Montaggio dei file system virtuali del kernel» ed entrare di nuovo in chroot prima di continuare con l'installazione.