Linux From Scratch
Come realizzare la propria distribuzione Linux partendo dai sorgenti
Un lavoro certosino, non vi è alcun dubbio, ma probabilmente l'unico modo per entrare veramente nei complessi meccanismi interni di un sistema operativo. Dopo aver sperimentato per anni con tante distribuzioni (Debian, Ubuntu, Mepis, Slackware), dopo averne apprezzato le caratteristiche peculiari e, magari averne criticato alcuni aspetti, viene voglia, talvolta, prima o poi di saperne di più.
Quando si è deciso finalmente di complicarsi l'esistenza per imparare qualcosa di nuovo occorre rimboccarsi le maniche e cominciare la lettura di Linux From Scratch, nel seguito indicato brevemente con LFS.
Questo percorso guidato, sotto forma di manuale tecnico, è stato avviato inizialmente da Gerard Beekmans, ma ben presto è stato sostenuto dal contributo attivo di diversi collaboratori da tutto il mondo.
Seguendo maniacalmente le istruzioni presenti nel libro, si potrà letteralmente costruire da zero la propria distribuzione Linux, avendo la pazienza di compilare manualmente sia il codice sorgente del kernel sia tutti i sorgenti dei pacchetti necessari al funzionamento del sistema.
Moltissimi si chiederanno perchè perdere tanto tempo per compilare manualmente ogni cosa quando si può scaricare velocemente una bella distribuzione Live e godersi subito la piena attività del sistema operativo. Costoro, dopo questa riflessione, abbandoneranno immediatamente la folle idea di comporre un enorme puzzle con centinaia o migliaia di pezzi.
Alcuni, invece, cominceranno a cimentarsi nell'impresa, ma non sorretti da un animo fortificato dalle avversità abbandoneranno presto l'impresa.
Pochissimi, ostinati e determinati, percorreranno l'intero cammino verso lo startup finale. E' a questi pochissimi ardimentosi che sono dedicate queste pagine, da parte di un altro folle che ha iniziato il pellegrinaggio verso l'ambita meta. Frequenti potranno essere le pause per riprendere fiato, ma il cammino è già iniziato e forte è la volontà di riuscire nell'intento.
La ragione principale che mi spinge ad affrontare questo percorso didattico è quella di vedere come effettivamente lavora un sistema Linux, e come i vari pezzi interdipendenti cooperano all'attività complessiva. Alla fine di tutto il lavoro il desiderio di personalizzare consapevolmente il proprio sistema.
Ma prima di cominciare questa avventura desidero condividere due certezze:
LFS permette, infatti, la costruzione del sistema base: il kernel e lo stretto indispensabile per far funzionare la shell a linea di comando. Mentre BLFS consentirà la compilazione del resto: interfaccia grafica e applicazioni varie.
Avvertenze:
1 - Ho deciso di utilizzare l'ultima versione attualmente (09-01-2014) disponibile, la 7.4 sia di LFS sia di BLFS. Ma, poichè il percorso sarà lungo, ignorerò deliberatamente eventuali nuove versioni che nel frattempo dovessero rendersi disponibili. Per motivi analoghi ed opposti non terrò in alcuna considerazione l'ultima versione in italiano di LFS, ferma alla 6.2, nè l'ultima versione in italiano di BLFS, ferma alla 6.0. Per chi, avendo difficoltà con l'inglese, volesse comunque consultarle riporto i relativi link:
Si tenga comunque presente che la distanza tra l'attuale versione (7.4) e le precedenti (6.2 e 6.0) è tale che la lettura contemporanea potrebbe ingenerare confusione e smarrimento sulle direttive da seguire.
2 - Costruire un sistema LFS non è un lavoro semplice e breve. Richiede un certo livello di conoscenza dell'amministrazione di un sistema Unix per poter risolvere problemi inaspettati ed eseguire correttamente i comandi elencati. In particolare, come minimo indispensabile, bisogna sapere usare con disinvoltura la linea di comando (shell) per copiare o spostare file e directory, elencare il contenuto di directory e file, e cambiare la directory corrente. E' opportuno anche conoscere le varie modalità di installazione del software Linux.
3 - Prima di iniziare l'avventura è meglio tenere sotto mano il seguente materiale:
4 - Gli autori di LFS sono costantemente a caccia di eventuali errori o imperfezioni, e per questo motivo mantengono on line un utilissimo errata corrige. Consultatelo periodicamente.
Il piu' rabbrividente dei mali, la morte, nulla e' per noi, perche', quando noi siamo, la morte non e' presente, e quando e' presente la morte, allora noi non siamo.
Epicuro