Linux from Scratch
Linux From Scratch è un libro scritto da Gerard Beekmans e altri. Nel libro sono date le istruzioni su come costruire un sistema Linux da zero. Il libro è scaricabile gratuitamente dal sito di Linux From Scratch la cui versione corrente è la 6.0. Per mantenere LFS piccolo e aggiornato, è stato creato il libro Beyond Linux From Scratch che presenta le istruzioni su come sviluppare ciò che viene dopo il sistema base creato con LFS.
Linux From Scratch (LFS) consiste in un modo per installare un sistema Linux funzionante attraverso la costruzione manuale 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 su cui verrà eseguito tende a risultare in 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".
Per costruire LFS, il costruttore necessita di una partizione vuota e un filesystem Linux funzionante. Per prima cosa bisogna compilare una cassetta degli attrezzi che consiste in stumenti (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 fianle saranno linkati a quest'ultimo. Quando le versione finali dei pacchetti sono state installate, devono essere le preferite da bash invece che quelle temporanee nella cassetta degli attrezzi. Questo si realizza vuotando la tabella di hash di bash e impostando la cartella dei binari della cassetta degli attrezzi alla fine della variabile di ambiente del nuovo ambiente.