Introduzione

Come le cose verranno fatte

State per costruire il vostro sistema LFS utilizzando una distribuzione Linux precedentemente installata (come Debian, Mandrake, Red Hat o SuSE). Questo sistema Linux esistente (l'host) sarà utilizzato come punto di partenza, poiché avremo bisogno di programmi quali un compilatore, linker e shell per costruire il nuovo sistema. Normalmente tutti gli strumenti richiesti sono disponibili se avete selezionato “development” tra le opzioni quando avete installato la distribuzione.

Nel Capitolo 2 creerete dapprima una nuova partizione Linux nativa e un file system, ove il vostro nuovo sistema LFS verrà compilato e installato. Quindi nel Capitolo 3 scaricherete tutti i pacchetti e le patch necessarie per costruire un sistema LFS e li archivierete nel nuovo file system. Nel Capitolo 4 imposterete un buon ambiente in cui lavorare.

Nel Capitolo 5 vedrete l'installazione di un certo numero di pacchetti che formerà la suite di sviluppo di base (o toolchain) che è utilizzata nel Capitolo 6 per costruire il sistema vero e proprio. Alcuni di questi pacchetti sono necessari per risolvere dipendenze circolari: ad esempio, per compilare un compilatore serve un compilatore.

La prima cosa da fare nel Capitolo 5 è costruire una prima parte della toolchain, composta da Binutils e GCC. I programmi di questi pacchetti saranno linkati staticamente, in modo da poter essere utilizzati indipendentemente dal sistema host. La seconda cosa da fare è costruire Glibc, la libreria C. Glibc verrà compilata dai programmi della toolchain costruiti nella prima fase. La terza cosa da fare è costruire una seconda volta la toolchain. Questa volta la toolchain verrà linkata verso la Glibc appena costruita. I restanti pacchetti del Capitolo 5 sono tutti costruiti usando l'ultima toolchain costruita, e linkata dinamicamente verso la nuova Glibc indipendente dall'host. Una volta fatto questo, il processo di installazione di LFS non dipenderà più dalla distribuzione host, con l'eccezione del kernel.

Potreste pensare che “questo sembri un sacco di lavoro, solo per liberarsi della distribuzione host”. Una spiegazione completa di questo aspetto è data all'inizio del Capitolo 5, incluse alcune note sulle differenze tra programmi linkati staticamente e dinamicamente.

Nel Capitolo 6 verrà costruito il vostro sistema LFS vero e proprio. Il programma chroot (change root) è utilizzato per accedere ad un ambiente virtuale ed avviare una nuova shell la cui directory root (radice n.d.t.) sarà impostata nella partizione LFS. In pratica, equivale a riavviare e istruire il kernel ad utilizzare la partizione LFS come partizione root. La ragione per cui non riavviamo, ma eseguiamo chroot, è che creare un sistema avviabile richiederebbe lavoro in più, che ora non è ancora necessario. Ma il più grande vantaggio è che eseguire chroot vi permette di continuare ad utilizzare l'host mentre viene costruito LFS. Mentre aspettate la compilazione di un pacchetto potete semplicemente commutare su un'altra console virtuale o desktop X e continuare a usare il computer come fate normalmente.

Per finire l'installazione, gli script di avvio sono settati nel Capitolo 7, il kernel e il bootloader sono settati nel Capitolo 8 e il Capitolo 9 contiene riferimenti per aiutarvi dopo che avete terminato il libro. Quindi, finalmente, siete pronti per riavviare il vostro computer nel nuovo sistema LFS.

Questo è il processo in poche parole. Informazioni dettagliate riguardo i passi che farete sono discusse nelle descrizioni di capitoli e pacchetti man mano che progredirete attraverso di essi. Se qualcosa non fosse del tutto chiaro ora, non preoccupatevi, ogni cosa andrà presto al proprio posto.

Leggete il Capitolo 4 con molta attenzione, poiché spiega alcune cose importanti su cui dovete fare attenzione prima di iniziare a lavorare passando al Capitolo 5 e successivi.