Preparazione dei File System Virtuali del Kernel
Per effettuare le comunicazioni verso il kernel e viceversa vengono utilizzati diversi file system esportati dal kernel stesso. Questi file system sono virtuali nel senso che per essi non viene utilizzato spazio su disco, ma il loro contenuto risiede in memoria RAM ed esiste fin quando la macchina rimane accesa.
In tutta questa sezione (n.6) occorrerà lavorare sempre come utente root !
Abbiamo già usato la variabile d'ambiente LFS e continueremo ad usarla nel corso del lavoro. È fondamentale che questa variabile sia sempre definita ad ogni inzio di ripresa dell'attività. Deve essere impostata al punto di mount scelto per la partizione LFS e deve essere controllato che sia stata definita correttamente con i comandi:
su echo $LFS
Secondo la scelta inizialmente fatta, sullo schermo dovrebbe apparire il percorso del punto di mount della partizione:
/mnt/lfs
Se così non fosse bisognerebbe provvedere a reimpostarla con:
export LFS=/mnt/lfs
mkdir -v $LFS/{dev,proc,sys}
init=/bin/bash
.mknod -m 600 $LFS/dev/console c 5 1 mknod -m 666 $LFS/dev/null c 1 3
mount -v --bind /dev $LFS/dev
mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620 mount -vt proc proc $LFS/proc mount -vt sysfs sysfs $LFS/sysQuesto il significato delle opzioni di montaggio per devpts:
gid=5
ID 5
. Questo è l'ID che sarà usato in seguito per il gruppo tty. Usiamo un ID di gruppo anzichè un nome poichè il sistema ospite potrebbe usare un diverso ID per il suo gruppo tty.mode=0620
0620
(leggibile e scrivibile dall'utente, scrivibile dal gruppo). Assieme all'opzione precedente garantisce che devpts creerà dei device node che soddisfano i requisiti di grantpt(), cioè che non è necessaria la presenza del file binario Glibc pt_chown helper (che non viene installato di default).
/dev/shm
è un link simbolico a /run/shm
. In un ambiente chroot questo file sistem temporaneo deve essere montato separatamente dal file system del sistema ospite:
if [ -h $LFS/dev/shm ]; then link=$(readlink $LFS/dev/shm) mkdir -p $LFS/$link mount -vt tmpfs shm $LFS/$link unset link else mount -vt tmpfs shm $LFS/dev/shm fi
Vivere è la cosa più rara del mondo. Molta gente esiste: ecco tutto.
Oscar Wilde