%general-entities; ]> 如何构建 LFS 系统 LFS 系统必须在一个已经安装好的 Linux 发行版 (如 Debian、 OpenMandriva、Fedora 或者 openSUSE) 中构建。这个安装好的 Linux 系统 (称为宿主) 提供包括编译器、链接器和 shell 在内的必要程序, 作为构建新系统的起点。 请在安装发行版的过程中选择development (开发) 选项,以使用这些工具。 您也可以选择不安装一个单独的发行版,而是使用某个商业发行版的 LiveCD 。 本书的描述了如何创建一个新的 Linux 本地分区和文件系统,新的 LFS 系统将在该文件系统中被编译和安装。 列举了在构建 LFS 系统的过程中必须下载的软件包和补丁, 并解释了在新文件系统中存储它们的方法。 讨论工作环境的正确配置。 请仔细阅读,因为它解释了您在开始 及后续章节的工作前必须了解的一些重要问题。 解释了安装大量软件包以形成基本开发套件 (或称为工具链) 的过程, 之后在 中将用工具链构建真正的系统。其中一些包需要解决循环依赖问题 ——例如,为了编译一个编译器,您首先需要一个编译器。 另外, 也展示了构建第一轮工具链的过程,包括 Binutils 和 GCC (第一轮表示这两个核心软件包会被重新安装一次)。 下一步是构建 Glibc ,即 C 运行库。我们将用第一轮工具链中的程序编译 Glibc 。之后,我们构建第二轮工具链, 第二轮工具链将会动态链接到新编译的 Glibc 上。 我们将使用第二轮工具链构建 中的其余软件包。 在这些工作完成后,除正在运行的内核外, LFS 的安装过程将不再依赖于作为宿主的发行版。 我们努力将新构造的系统从宿主发行版分离出来。这个过程看上去很繁琐, 我们将会在 完整地从技术上解释这样做的必要性。 中, 我们将构建完整的 LFS 系统。我们使用 chroot (改变根目录) 命令进入一个虚拟化环境,其中根目录被设置为 LFS 文件系统。 这与重启计算机并指示内核将 LFS 文件系统挂载为根文件系统很相似, 然而由于创建一个可引导的系统需要一些尚未完成的额外工作, 我们选择使用 chroot换根 的最大好处是,我们在构建 LFS 的过程中,可以继续使用宿主系统。 在等待软件包编译的过程中,您可以继续正常使用计算机。 为了完成安装,我们在 中进行系统的基本设置,在 中配置内核和引导加载器。最后, 包含在阅读完本书后继续体验 LFS 的相关信息。在完成本书的所有流程后, 重启计算机即可进入新的 LFS 系统。 以上是 LFS 构建过程的简要介绍, 针对特定步骤的详细信息将在之后章节以及软件包的简介中讨论。 在您踏上 LFS 的构建之旅后,就能逐步理清这些看上去很复杂的步骤, 每一步都将变得非常清晰。