Linux From Scratch

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

Linux From Scratch
开发者杰勒德·比克曼斯等
作業系統家族类Unix系统
運作狀態当前
源码模式开源软件自由软件
初始版本-
最新版本10.0 / 2020年9月1日2020-09-01
最新測試版本10.0-rc1 / 2020年8月15日2020-08-15
更新方式基于源代码
软件包管理系统无(基于源代码)
支援平台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网站,依靠网友的自发贡献来提交各种软件包的安装方式。

LFS 6.2 軟體列表

  • Glibc 2.3.6
  • Glibc LibIDN add-on 2.3.6
  • Grep 2.5.1a
  • Groff 1.18.1.1
  • GRUB 0.97
  • Gzip 1.3.5
  • Iana-Etc 2.10
  • Inetutils 1.4.2
  • IPRoute2 2.6.16-060323
  • Kbd 1.12
  • Less 394
  • LFS-Bootscripts 6.2
  • Libtool 1.5.22
  • Linux 2.6.16.27
  • Linux-Libc-Headers 2.6.12.0
  • M4 1.4.4
  • Make 3.80
  • Man-DB 2.4.3
  • Man-pages 2.34

参考文献

  1. Gerard Beekmans: Beyond Linux From Scratch, Version 6.3 (August 2008)
  2. . [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.

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.