Utilizzo di chroot per entrare nell'ambiente di lavoro

Prima di procedere alla compilazione vera è propia, e necessario "entrare" nell'ambiente di lavoro, o anche ambiente chroot, creato nella fase di preparazione. Per fare questo viene utilizzato il comando chroot. In particolar modo, utilizzerembo i tools che ci siamo creati nella fase precedente. Ecco il comando utilizzato:

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

dove la variabile LFS contiene il path relativo alla partizione del sistema lfs (/mnt/lfs nel mio caso), l'opzione -i data al comando env serve per eliminare tutte le variabili dall'ambiente chroot. Le successive variabili d'ambiente sono impostate nuovamente.

Da notare che nella variabile PATH, /tools/bin compare per ultimo, poichè in questo modo andremo ad utilizzare man mano i nuovi strumenti che ci siamo compilati, tralasciando quelli temporanei che si trovano in /tools/bin. Il parametro +h serve per disabilitare l'hashing della shell.

Da ora in poi, tutti i comandi che saranno utilizzati, verranno eseguiti dall'ambiente chroot.



Daniele Salamina, Relazione di Laurea, Progettazione e realizzazione di una distribuzione GNU/Linux, Settembre 2004