Linux From Scratch

Linux From Scratch》(LFS)是杰勒德·比克曼斯英语Gerard Beekmans等人编写的安装Linux的教科书,描述了从源代码编译Linux系统的方法。这本书可以从在Linux From Scratch网站上免费下载到。

Linux From Scratch
开发者杰勒德·比克曼斯等
作業系統家族类Unix系统
運作狀態当前
源码模式开源软件自由软件
初始版本-
最新版本11.0 / 2021年9月1日,​22天前​(2021-09-01
最新測試版本11.0-rc3 / 2021年8月25日,​29天前​(2021-08-25
更新方式基于源代码
软件包管理系统无(基于源代码)
支援平台IA-32x86-64ARM架构(基于源代码)
内核类别宏内核
默认用户界面Bash
许可证知识共享MIT许可证
官方網站www.linuxfromscratch.org

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

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

步骤编辑

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

  1. 对硬盘分区,添加用于安装LFS的用户和组(LFS教科书第2章)
  2. 下载所有需要的软件包源代码(LFS教科书第3章)
  3. 准备开发环境(LFS教科书第4章)
  4. 构造一个基本开发环境(称为工具链)(LFS教科书第5章)
  5. 构造完整的目标系统(LFS教科书第6章)
  6. 配置系统启动脚本(LFS教科书第7章)
  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,或者直接在其上运行应用,已经停止维护 [2]
Patches
由于软件之间的依赖关系,在升级软件包之后可能会导致LFS的过程出现故障。Patch项目致力于研究最新版本的软件之间的互动,并提供一些补丁修复这些故障。

除此之外,该项目另有一个名为CBLFS(Community Driven BLFS)的项目,该项目实际是一个Wiki网站,依靠网友的自发贡献来提交各种软件包的安装方式。

参考文献编辑

  1. ^ Gerard Beekmans: Beyond Linux From Scratch, Version 6.3 (August 2008)
  2. ^ LFS LiveCD Project. [2011-11-10]. (原始内容存档于2017-07-19) (英语). Note: The LiveCD is no longer being maintained. However, it still works well for many purposes, such as a rescue disk. The packages and the rendered LFS book on the CD are quite out of date. 

外部链接编辑