iii. LFS 的目标架构

LFS 当前主要支持 AMD/Intel 的 x86(32 位)和 x86_64(64 位) CPU。另外,本文档也涉及一些更改可以让 LFS 顺利地在 Power PC 和 ARM CPU 上运行。为了顺利构建 LFS,除了后面几页的内容外,你主要需要一个可以在当前 CPU 上正常运行的 Linux 系统,例如:早先版本的 LFS,Ubuntu/Fedora,SuSE 或者是在你的架构上可以运行的其它发行版。对了,32 位的发行版是可以在 64 位的 AMD/Intel 处理器上作为宿主机正常安装和运作的。

不过,64 位的一些实情是:和 32 位相比,运行的速度稍微的快那么一点点,但是相较而言,体积也稍微的大一点点。以在 Core 2 Duo 处理器上运行的 LFS-6.5 系统为例,以下是一些实际的数据:


架构      构建时间    构建后大小
32-bit  198.5 分钟   648 MB
64-bit  190.6 分钟   709 MB

正如你看到的,64 位程序仅仅比 32 位程序快了 4%,体积大了 9%。由此可见,单纯的追逐 64 位系统其实并没有太大的必要。但是,假如你的电脑的内存超过了 4G 又或者说需要操作大于 4G 的数据,64 位系统的优势就比较明显了。

假如按照本文的默认方式构建,那么你将得到一个“纯” 64 位系统————这意味着你仅能够执行 64 位的程序。构建 “multi-lib” 也并不是不可以,但是这意味着很多的程序都需要编译两次:一次编译为 32 位程序,一次编译为 64 位程序。不过,本文档并不涉及这部份的内容:这会干扰用户学习如何构建“最基本” Linux 系统。你可以通过阅读 Cross Linux From Scratch 的相关内容获得有关本话题的更多帮助。

关于 64 位系统,还有一点需要说明。有一些异常老旧的包无法在“纯” 64 位系统上构建,或者是需要专门的编译指令。通常出现这样的问题是因为这些包包含有一些与 32 位系统紧密相关的汇编指令。这些包括一些 Xorg 的视频卡驱动(http://xorg.freedesktop.org/releases/individual/driver/),大多数类似的情况都有解决方案,但可能需要特别的方法或者是补丁。