Linux From Scratch (LFS, letteralmente dall'inglese Linux da zero) è un libro scritto da Gerard Beekmans, Matthew Burgess ed altri. Nel libro sono fornite istruzioni su come costruire un sistema Linux a partire dai codici sorgente.
La storia di LFS inizia nel 1998, quando Gerard Beekmans, non soddisfatto di altre distribuzioni, decide di creare il suo sistema ideale personale che si adatti alle sue esigenze, e scrive i suoi progressi in un pezzo di carta. In breve tempo, il libro riscuote successo, ed attorno ad esso si sviluppa un progetto, con lo scopo di educare l'utente a costruire nel modo più pulito possibile un nuovo Sistema Operativo.
Il libro è disponibile gratuitamente dal sito di Linux From Scratch, la cui versione corrente è la 6.8. Per mantenere LFS piccolo e conservare il suo scopo, è stato creato un altro libro, Beyond Linux From Scratch, che presenta le istruzioni su come proseguire lo sviluppo del sistema di base creato con LFS.
Linux From Scratch consiste in un modo per installare un sistema Linux funzionante attraverso la costruzione manuale e configurazione di tutti i suoi componenti. Tale processo è molto più laborioso rispetto all'installazione di una distribuzione pre-costruita. L'idea di base è che installare i singoli pacchetti uno per uno porterà ad una comprensione dei meccanismi interni di un sistema Linux funzionante. Inoltre, ovviamente, compilare tutto il software specificamente per la piattaforma ed architettura su cui verrà eseguito tende a far risultare i programmi più leggeri e veloci. Infine, è più facile personalizzare i pacchetti installati quando ognuno di essi è stato installato manualmente - "La tua distro, le tue regole".
Procedura.
Per costruire LFS, il costruttore necessita di una partizione vuota e un file system Linux funzionante. Per prima cosa bisogna compilare una toolchain che consiste in strumenti (tools) come gcc, glibc e Perl, usati per compilare LFS. Poi la cartella radice deve essere cambiata (chroot) a quella cassetta degli attrezzi per far partire la costruzione del sistema finale. Uno dei primi pacchetti da compilare è glibc; dopo di che il linker della cassetta degli attrezzi deve essere impostato per linkare glibc appena costruito, così che tutti gli altri pacchetti che verranno costruiti per il sistema finale saranno linkati a quest'ultimo. Non appena le versioni finali dei pacchetti sono installate, queste devono essere quelle utilizzate da bash, piuttosto che quelle temporanee nella cassetta degli attrezzi. Questo si realizza vuotando la tabella hash di bash ed impostando la cartella dei binari della cassetta degli attrezzi per ultima nella variabile di ambiente path del nuovo ambiente.
Creazione di una nuova partizione.
Per costruire il nostro nuovo sistema Linux abbiamo bisogno di un po' di spazio: una partizione vuota sul disco. Se non avete una partizione libera, nè spazio in nessuno dei vostri hard disk per farne una, allora potete costruire LFS nella stessa partizione in cui è installata la vostra distribuzione host. Non è una procedura raccomandata per la vostra prima installazione di LFS, ma se non avete spazio e vi sentite coraggiosi, date un'occhiata ai suggerimenti su ....
Per un sistema minimale avrete bisogno di una partizione di circa 1,3 GB. Questo spazio è sufficiente per archiviare tutti i tarball sorgenti e compilare tutti i pacchetti. Ma se intendete usare il sistema LFS come vostro sistema Linux principale, probabilmente vorrete installare software addizionale, e avrete bisogno di più spazio, probabilmente attorno ai 2 o 3 GB.
Dal momento che non abbiamo praticamente mai sufficiente RAM nel nostro PC, è una buona idea utilizzare una piccola partizione come area di swap: questo spazio è utilizzato dal kernel per archiviare dati usati raramente e fare spazio in memoria per cose più urgenti. La partizione di swap per il vostro sistema LFS può essere la stessa del vostro sistema host, così non dovrete crearne un'altra nel caso in cui il vostro sistema usi già una partizione di swap.
Avviate un programma di partizionamento come cfdisk o fdisk che abbia per argomento l'hard disk su cui deve essere creata la nuova partizione, ad esempio /dev/hda per il disco IDE primario. Create una partizione Linux nativa e una partizione swap, se necessario. Fate riferimento alle pagine man di cfdisk o fdisk se non sapete come usare i programmi.
Ricordate la designazione della vostra nuova partizione, qualcosa tipo hda5. Questo libro vi farà riferimento come partizione LFS. Se avete anche una partizione di swap ricordatevi anche la sua designazione. Questi nomi saranno in seguito necessari per il file /etc/fstab.
↧