Linux From Scratch

《Linux From Scratch》（LFS）是等人编写的安装Linux的教科书，描述了从源代码编译Linux系统的方法。这本书可以从在Linux From Scratch网站上免费下载到。

为了保持LFS的基本性和专注性，另一本书《Beyond Linux From Scratch》（BLFS）提供了在LFS的基础上，进一步完善Linux基本系统的指引。在BLFS中，读者可以学习到如何为系统增加网络、X桌面、声音、打印机和扫描仪支持。从5.0版开始，BLFS开始与LFS的版本号保持同步。

除了LFS和BLFS，还有描述交叉编译的《Cross Linux from Scratch》（CLFS）以及专注于安全的《Hardened Linux From Scratch》（HLFS）。

步骤 
尽管目标是安装一个与现有发行版毫无关系的系统，安装LFS仍然不能无中生有，而必须要有一个可以编译软件包的运行中的Linux系统。这个系统一般称为宿主系统。对于新机器，可以选用Linux发行版提供的光盘操作系统（LiveCD）作为宿主。LFS工程曾提供LiveCD但当前不提供。在宿主操作系统上安装LFS，需要的步骤如下：

对硬盘分区，添加用于安装LFS的用户和组（LFS教科书第2章）
下载所有需要的软件包源代码（LFS教科书第3章）
准备开发环境（LFS教科书第4章）
构造一个基本开发环境（称为工具链）（LFS教科书第5章）
构造完整的目标系统（LFS教科书第6章）
配置系统启动脚本（LFS教科书第7章）
启动系统（LFS教科书第8章）

相关项目 
该项目有很多相关子项目：
Beyond Linux From Scratch（BLFS）标准LFS仅仅安装了足够让系统启动的基本软件，以及使新系统能够编译新软件包的开发工具。BLFS包括了更多的软件包，且都有相应指导。
Cross Linux From Scratch（CLFS）为需要进行交叉编译（即在一个平台上编译另一个平台的代码）的用户提供指导，正式版本为1.0，另有两个变种
CLFS Sysroot 采用Sysroot的方法来进行编译，好处是软件包的编译次数可以减少，坏处是不能支持在编译后对软件进行测试，必须要启动到目标平台上才能测试。
CLFS Embedded 一般用于极小系统以及嵌入式系统。为此，它使用uclibc而不是一般LFS使用的glibc。
该项目已停止维护，其官网已无法访问
Automated Linux From Scratch（ALFS）标准LFS只是一本书，用户需要根据书上的指引下载软件包并手动输入指令进行编译。ALFS子项目提供了把这一切自动化的脚本。
Hardened Linux From Scratch（HLFS）这个子项目致力于打造在安全性上无懈可击的Linux系统。
Hints收集一些解释性、增强性的文档，以协助用户
LiveCD利用LFS的方法生成可以自行启动并安装了足够软件的CD，可以用来在空机器上安装LFS，或者直接在其上运行应用，已经停止维护 
Patches由于软件之间的依赖关系，在升级软件包之后可能会导致LFS的过程出现故障。Patch项目致力于研究最新版本的软件之间的互动，并提供一些补丁修复这些故障。
除此之外，该项目另有一个名为CBLFS（Community Driven BLFS）的项目，该项目实际是一个Wiki网站，依靠网友的自发贡献来提交各种软件包的安装方式。

参考文献

外部链接 
LFS官方网站 
LinuxSir LFS论坛，链接已失效
LFS中文版6.1文档
LFS中文版6.2文档
LFS中文版6.6文档 
LFSCN简体中文文档，与原工程同步，未完成

自由軟體
Linux发行版
不采用systemd的Linux发行版