Linux from Scratch sistema operativo | |
---|---|
Sviluppatore | Team di LFS |
Famiglia | GNU/Linux |
Release corrente | 8.4 (giugno 2018) |
Tipo di kernel | Kernel monolitico (Linux 4.20.12) |
Piattaforme supportate | i386, amd64 |
Tipo licenza | Software libero |
Licenza | GNU GPL |
Stadio di sviluppo | Attivo (stabile) |
Sito web | linuxfromscratch.org |
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 operativo partendo dal kernel Linux e da strumenti del sistema operativo GNU partendo dalla compilazione del loro codice sorgente.[1][2]
Storia
[modifica | modifica wikitesto]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 è coperto da licenza Creative Commons By-Nc-Sa ed è disponibile dal sito di Linux From Scratch, la cui versione corrente è la 8.4. 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.
Funzionamento
[modifica | modifica wikitesto]Linux From Scratch consiste in un modo per installare un sistema Linux funzionante attraverso la compilazione 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
[modifica | modifica wikitesto]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.
Note
[modifica | modifica wikitesto]- ^ (EN) v. Rationale for Packages in the Book, su linuxfromscratch.org. URL consultato il 14 maggio 2016.
- ^ (EN) vii. Host System Requirements, su linuxfromscratch.org. URL consultato il 14 maggio 2016 (archiviato dall'url originale il 12 maggio 2016).
Voci correlate
[modifica | modifica wikitesto]- GNU
- Linux (kernel)
- Distribuzione GNU/Linux
- BLFS (Beyond Linux From Scratch)
- CLFS (Cross-Compiled Linux From Scratch)
- ALFS (Automated Linux From Scratch)
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su linuxfromscratch.org.
- (EN) LFS Wiki.
- (EN) Come creare un cd bootabile di LFS.
- ILDP: Progetto per tradurre Linux From Scratch in italiano, a cura del PLUTO, su ildp.pluto.it.