Accesso all'ambiente chroot

È il momento di accedere all'ambiente chroot allo scopo di iniziare a costruire e installare il vostro sistema LFS definitivo. Sempre come root avviate il comando seguente per entrare nel piccolo mondo che è, al momento, popolato solamente da strumenti 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, vengono impostate di nuovo solo le variabili HOME, TERM, PS1 e PATH. Il costrutto TERM=$TERM imposterà la variabile TERM in chroot allo stesso valore della chroot esterna; questa variabile è necessaria perché programmi come vim e less operino correttamente. Se avete bisogno della presenza di altre variabili, come CFLAGS o CXXFLAGS, questo è un buon momento per impostarle di nuovo.

D'ora in poi non c'è più bisogno di usare ancora la variabile LFS, perché ogni cosa che fate sarà limitata al sistema LFS, poiché quello che la shell pensa è che / sia il valore attuale di $LFS, che è stato passato al comando chroot.

Notate come /tools/bin venga ultimo nel PATH. Questo significa che un tool provvisorio non verrà più utilizzato dal momento in cui verrà installata la sua versione finale. Bene, almeno finché la shell non ricorderà le locazioni dei binari eseguiti: per questa ragione l'hashing è stato disabilitato passando l'opzione +h a bash.

Dovete essere sicuri che tutti i comandi nel resto di questo capitolo e nei seguenti capitoli siano avviati dall'interno dell'ambiente chroot. Se doveste aver lasciato questo ambiente per qualsiasi ragione (ad esempio riavviare), dovete 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 bash prompt dirà “I have no name!” Questo è normale, poiché il file /etc/passwd non è ancora stato creato.