5. Costruzione di un sistema temporaneo

5.1. Introduzione

In questo capitolo verrà compilato e installato un sistema Linux minimale. Questo sistema conterrà sufficienti strumenti da permettere di costruire il sistema LFS finale nel Capitolo 6 e consentire un ambiente di lavoro un po' più agevole per l'utente di un ambiente minimo.

La costruzione di questo sistema minimo è eseguita in due fasi. Il primo passo è la costruzione di una nuova toolchain indipendente dall'host (compilatore, assemblatore, linker, librerie e qualche altro tool). Il secondo passo usa questa toolchain per costruire gli altri tool essenziali.

I file compilati in questo capitolo verranno installati nella directory $LFS/tools per tenerli separati dai file installati nel prossimo capitolo e dalle directory dell'host. Dal momento che questi pacchetti compilati sono puramente temporanei, non vogliamo inquinare il nascente sistema LFS.

[Importante]

Importante

Prima di digitare le istruzioni di costruzione di un pacchetto, il pacchetto deve essere scompattato come utente lfs, e deve essere eseguito un cd nella directory creata. Le istruzioni di costruzione suppongono che si stia usando la shell bash.

Molti pacchetti sono patchati prima della compilazione, ma solo quando la patch è necessaria per aggirare un problema. Spesso una patch è necessaria sia in questo che nel prossimo capitolo, ma talvolta solo in uno dei due. D'altra parte, non ci si preoccupi se le istruzioni per una patch scaricata sembrano mancare. Applicando una patch, si potrebbero incontrare messaggi di avviso riguardanti offset o fuzz. Questi warning non sono nulla di cui preoccuparsi, in quanto la patch è stata applicata con successo.

Durante la compilazione di molti pacchetti, ci saranno molti warning che scorreranno sullo schermo. Sono normali, e possono essere ignorati senza problemi. Questi avvisi sono ciò che appaiono: avvisi riguardanti usi deprecati, ma non invalidati, della sintassi C o C++. Gli standard C cambiano piuttosto spesso e certi pacchetti usano ancora il vecchio standard. Questo non è un problema, ma fa apparire l'avviso.

[Importante]

Importante

Dopo aver installato ciascun pacchetto bisogna cancellare le sue directory dei sorgenti e di costruzione, tranne ove richiesto diversamente. Cancellare i sorgenti fa risparmiare spazio, ma previene anche errate configurazioni quando lo stesso pacchetto viene reinstallato in seguito. Solo per tre pacchetti bisogna tenere le directory dei sorgenti e di costruzione per un po', così che il loro contenuto possa essere usato da comandi successivi. Porre particolare attenzione a questi appunti.

Controllare un'ultima volta che la variabile ambiente LFS sia definita correttamente:

echo $LFS

Verificare che l'output mostri il percorso del punto di mount della partizione, che è /mnt/lfs, usando il nostro esempio.