Costruzione di un sistema provvisorio

Introduzione

In questo capitolo compileremo e installeremo un sistema Linux minimale. Questo sistema conterrà sufficienti strumenti da permettere di costruire il sistema LFS finale nel prossimo capitolo 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: prima costruiamo una toolchain totalmente nuova e indipendente dall'host (compilatore, assemblatore, linker, librerie e qualche altro tool) ed in seguito la useremo per costruire tutti gli altri strumenti 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 prossimo sistema LFS.

Prima di digitare le istruzioni di costruzione di un pacchetto, dovrete averlo già scompattato come utente lfs, e dovrete aver digitato un comando cd nella directory creata. Le istruzioni di costruzione suppongono che stiate usando la shell bash.

A molti pacchetti occorre applicare una patch prima della compilazione, ma solo quando la patch è necessaria per aggirare un problema. Spesso la patch è necessaria sia in questo che nel prossimo capitolo, ma talvolta solo in uno dei due. D'altra parte, non preoccupatevi se le istruzioni per una patch scaricata sembrano mancare. Inoltre, applicando una patch, occasionalmente potreste vedere messaggi di warning 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, vedrete molti warning scorrere sul vostro schermo. Sono normali, e possono essere ignorati senza problemi. Sono giusto ciò che dicono di essere: avvisi, per lo più a proposito di deprecati, ma non sbagliati, usi della sintassi C o C++. È solo che il C standard cambia piuttosto spesso e certi pacchetti usano ancora lo standard vecchio, il che non è esattamente un problema.

Dopo aver installato ciascun pacchetto dovete 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 nuovamente. Solo per tre pacchetti dovrete tenere le directory dei sorgenti e di costruzione per un po', così che il loro contenuto possa essere usato da comandi successivi.

Ora, per prima cosa, controllate che la vostra variabile ambiente LFS sia settata correttamente:

echo $LFS

Assicuratevi che l'output mostri il percorso del punto di mount della vostra partizione LFS, che è /mnt/lfs se avete seguito il nostro esempio.