《Linux From Scratch》第一部分:介绍 第一章:介绍-1.1 如何构建LFS系统

         LFS 系统需要在一个已经安装好的 Linux 发行版(比如 Debian、OpenMandriva、Fedora 或
OpenSUSE)中构建。这个已有的 Linux 系统(即宿主)作为构建新系统的起始点,提供了必要的程序,包括一个编译器、链接器和
shell。请在安装发行版的过程中选择
“development(开发)”选项以便使用这些开发工具。

除了将一个独立发行版安装到你的电脑上之外,你也可以使用商业发行版的 LiveCD。

本书的第二章描述了如何创建一个的新 Linux 本地分区和文件系统,这就是编译和安装新的 LFS 系统的地方。第三章介绍了构建 LFS 系统所需下载的软件包和补丁,以及如何把它们保存在新的文件系统里。 第四章讨论了如何设置恰当的工作环境。因为它阐述了几个需要注意的重要问题,在你按照第五章及之后的内容开始工作前,请仔细阅读第四章

第五章阐述了构成基本开发套件(即工具链)的大量软件包的安装,在第六章中将用这个开发套件构建真正的系统。其中一些包是需要解决循环依赖——比如,你需要一个编译器来编译一个编译器。

第五章还将向你展示如何构建第一遍的工具链,包括 Binutils 和 GCC
(第一遍基本上就是重新安装这两个核心软件包)。下一步是构建 Glibc,即 C 语言库。Glibc
将用第一遍构建的工具链编译。然后,第二遍的工具链就被编译好了。这次,工具链将被动态链接到新建成的 Glibc。
第五章中剩余的包将用这个第二遍的工具链编译。当这些工作完成以后,LFS 的安装过程就不会再依赖于宿主发行版了,除了正在运行的内核。

把新系统从宿主发行版中分离出来的工作看起来可能有点多余。5.2 “工具链技术备注”这一节给出了为什么要这么做的完整技术说明。

第六章,会构建完整的 LFS 系统。我们将使用 chroot (change root 改变根目录) 程序来进入一个虚拟环境并启动一个新的 shell,这个 shell 的根目录将被指向到 LFS 分区。这个过程非常像是重启并让内核把 LFS 分区挂载为根分区。系统并没有真正的重启,而是在使用
chroot 实现的,因为创建一个可启动的系统还需要有一些目前尚未完成的额外工作。
使用 “chroot” 的最大好处是,它在运行过程中允许你在构建 LFS 的同时继续使用宿主系统。在等待包的编译过程中,你可以继续正常使用你的电脑。

为了完成安装,还需要第七章中的基本的系统配置方法,
第八章中的内核和启动引导程序的配置方法。
第九章包含了学完本书以后继续使用 LFS 的一些建议。在本书内的步骤完成之后,电脑就可以重启进入新的 LFS 系统了。

流程大概就是这样。每一步的详细信息都会在之后的章节和软件包的描述里讨论。当你踏上这段 LFS 之旅,就会理清这些看起来很复杂的东西,每一个都将对号入座。

创建者:Gerard Beekmans

编辑者:Matthew Burgess 和 Armin K.

翻译团队:LCTT

译者/校对:H-mudcup,wxy

原文链接

时间: 2024-10-15 06:26:59

《Linux From Scratch》第一部分:介绍 第一章:介绍-1.1 如何构建LFS系统的相关文章

《Linux From Scratch》第三部分:构建LFS系统 第九章:尾声- 9.4. 接下来做什么呢?

         十分感谢你耐心的阅读这本 LFS 书,我们十分期待本书能够为你构建系统带来一点点的帮助. 我猜,你现在一定很开心--LFS 系统已经安装完成.但是,下面该作些什么呢?不用担心,我们早已经帮你准备好以下这些有益的信息了! 维护 定期检查软件的 bug 和安全公告.因为在从源码构建出 LFS 之后,你便应该养成经常去查看这些报告的好习惯.有关查询的去处,网上倒是有一些不错的资源,这里列举几个: CERT (计算机应急响应小组) CERT 有一个邮件列表,专门公示各种操作系统和应用程

《Linux From Scratch》第三部分:构建LFS系统 第九章:尾声- 9.1. 最后的最后

         哈哈,干的很不错!到这里,全新的 LFS 系统就已经安装完成了!我们也很期待你那闪闪发光的定制 Linux 系统呐. 创建一个 systemd 所需的 /etc/os-release 文件: cat > /etc/os-release << "EOF" NAME="Linux From Scratch" VERSION="7.7-systemd" ID=lfs PRETTY_NAME="Linux F

《Linux From Scratch》第三部分:构建LFS系统 第八章:让LFS系统可引导 - 8.4. 使用 GRUB 设置启动过程

 8.4.1. 简介 警告 对 GRUB 进行错误的配置可能会导致在没有外置启动设备(某些USB设备,某些 CD-ROM 等)的情况下无法正常的启动.你可能仅仅需要修改当前正在使用的引导器(比如:Grub-Legacy,GRUB2 或 LILO 等)的配置. 一定要确保你有一个可以引导的光盘或者是 U 盘以备不时之需,否则万一电脑真的不能启动谁都救不了你.如果你需要建立可引导的设备,可以按照以下方法操作(跳转到 BLFS 从 libisoburn 软件包安装 xorriso). (译者注:其实你

《Linux From Scratch》第三部分:构建LFS系统 第七章:基本系统配置- 7.3. LFS 系统中的设备和模块管理

 在 第六章, 我们通过 systemd 的源码包安装好了 udev.在开始了解它是如何工作之前,我们先来简要的回顾下以前处理设备的方法. 传统的 Linux 不管硬件是否真实存在,都以创建静态设备的方法来处理硬件,因此需要在 /dev 目录下创建大量的设备节点文件(有时会有上千个).这通常由 MAKEDEV 脚本完成,它通过大量调用 mknod 程序为这个世界上可能存在的每一个设备建立对应的主设备号和次设备号. 而使用 udev 方法,只有当内核检测到硬件接入,才会建立对应的节点文件.因为需要

《Linux From Scratch》第三部分:构建LFS系统 第六章:安装基本的系统软件- 6.17. GCC-4.9.2

             GCC 软件包包括 GNU 编译器集,其中有 C 和 C++ 的编译器. 大概编译时间: 63 SBU (包括测试) 需要磁盘空间: 2.9 GB 6.17.1. 安装 GCC GCC 的文档建议在源代码目录之外一个专用的编译目录中编译 GCC: mkdir -v ../gcc-build cd ../gcc-build 准备编译 GCC: SED=sed \ ../gcc-4.9.2/configure \ --prefix=/usr \ --enable-langu

《Linux From Scratch》第三部分:构建LFS系统 第九章:尾声- 9.2. 为 LFS 用户数添砖加瓦

截至此刻,你已经读完了这本书.你想要为 LFS 用户数添砖加瓦吗?赶快点击鼠标访问 http://www.linuxfromscratch.org/cgi-bin/lfscounter.php 输入用户名和第一次使用的 LFS 版本注册成为 LFS 用户吧. 赶快重启到 LFS 吧! 创建者:Gerard Beekmans 编辑者:Matthew Burgess 和 Armin K. 翻译团队:LCTT 译者/校对:dongfengweixiao,wxy 原文链接

《Linux From Scratch》第二部分:准备构建 第二章:准备新分区- 2.2. 创建新分区

与绝大多数其它操作系统相同,安装 LFS 通常需要专门的分区.构建 LFS 系统比较推荐的方法是使用可用的空分区,或者如果条件允许,最好是在未分区的空间里新建分区. 最小化的系统需要大约 4 GB 的分区,这足以存储所有的源码包及满足编译的需求.但如果要将 LFS 作为主要的 Linux 系统,可能需要安装其它附加的软件,这将需要额外的空间.考虑到了日后所需的空间,一个 10 GB 的分区是比较合理的.LFS 系统本身并不会占用这么多的空间.但满足此要求的大分区将能提供足够大的临时储存空间.编译

《Linux From Scratch》第四部分:附录- 附录 C. 依赖关系

 LFS 中构建或安装的每一个包或多或少都会依赖于其它的包,甚至有些包甚至是循环依赖关系:第一个包依赖于第二个包,反过来,第二个包的生成或者是安装又需要第 一个包.因为存在这些依赖关系,所以在构建 LFS 系统的时候,软件包的编译或安装的顺序是十分重要的.本章的目的就是告知用户在构建 LFS 时每一个包的依赖项. 对于所有需要编译的软件包,我们列举出三种或者四种类型的依赖.第一种类型是 "安装必选依赖",否则在编译和安装的时候会出现问题.第二类是 "测试套件依赖",

《Linux From Scratch》第一部分:介绍 第一章:介绍-1.3. 更新日志

       这是 Linux From Scratch 手册的 7.7-systemd 版本,发布于2015年3月6日.如果距离这个时间已超过 6 个月,那么应该已经有更新和更好的版本了.要获取的话,请访问这个页面 http://www.linuxfromscratch.org/mirrors.html 里任意一个镜像站点. 下面是本书上一次发布之后的更新列表. 更新日志条目: 2015-03-06 [krejzi] - LFS-7.7-systemd 发布. 2015-03-03 [bdub