ITEEDU

6.1. 介绍

在本章,我们进入建筑工地(building site),开始精心构建 LFS 系统。 也就是说我们通过 chroot 命令进入一个临时的 mini Linux 系统, 并作一些最后的准备, 然后开始安装软件包。

软件的安装非常简单。 尽管许多情况下对安装过程的说明可以更短,更通用, 但为了消除 可能出现的错误,我们为每一个包都提供了全面的安装说明。 学习 Linux 系统是如何工作的, 关键在于明白每个包的用途以及为什么用户(或系统)需要它。

我们不建议进行编译器优化,虽然编译器优化可以使程序运行的稍快一些, 但也会造成编译困难和问题。 如果某个包在使用优化的情况下无法通过编译, 试试不用优化编译能不能解决问题。 即使使用优化编译成功, 由于源码与编译工具之间复杂的相互作用, 程序仍有可能被错误的编译了。 还要注意没有测试未使用本书指定值的 -march-mtune 参数,它们或许会导致一些工具链软件包 (Binutils, GCC, Glibc)的问题。 使用编译器优化得到的小幅度性能提升, 与它带来的风险相比微不足道。 所以初次编译 LFS 的用户最好不要使用任何优化, 同时你的系统也会运行的又快又稳定。

本章中软件包的安装顺序应当严格遵守,以确保没有一个程序会把 /tools 作为路径硬连接到代码中。 由于同样的原因,不要并行编译软件包。并行编译可能会节省时间 (特别是在双CPU的机器上), 但也可能造成程序包含 /tools 硬连接路径, 以致在该目录被删除之后, 程序无法运行。

在每个软件包安装说明页的首部都提供了与该包相关的一些信息, 包括: 包内容的简要说明、 编译大约所需时间、 编译过程所需磁盘空间。 在安装说明之后还有该包所安装的程序和库的列表 (以及对它们的简要说明)。