LFS的基本目标平台是32位的Intel处理器。如果你之前没有编译过LFS,那就应该从这个平台开始。32位的系统是Linux支持最广泛的系统,与开源软件或者私有软件也最兼容。
另一方面,本书中的指令稍作修改就可以适用于Power PC和64位的AMD/Intel处理器。要想编译一个可以使用上述CPU的系统,除了后面几页提到的工具之外的主要先决条件是一个现存的Linux系统,如早期的LFS,Ubuntu,Red Hat/Fedora,SuSE或者其他针对这些平台的系统。另外要注意的是32位的系统也可以在64位的AMD/Intel机器上安装运行。
关于64位系统其他需要说明的是,和32位的系统比起来,64位的系统的可执行程序的大小要稍大,执行时间也要稍快。例如,在一个基于酷睿2双核的机器上,LFS-6.5的测试构建包的统计信息是:
CPU架构 构建时间 构建包大小
32-bit 198.5 minutes 648 MB
64-bit 190.6 minutes 709 MB
可以看到,编译64位的包要比编译32位的快4%,但是大9%。64位系统的优势相对较小。当然,如果有超过4G的物理内存或者需要处理超过4G的数据,64位系统的优势就明显了。
从LFS得到的64位编译结果缺省是“纯”64位的,也就是说,它只能支持64位的系统。编译一个“混合”的系统需要对许多应用程序编译两次,分别为32位系统的64位系统。LFS不直接支持这个因为这与提供简单直观的Linux系统的构建指南的教学性目标相违背。对于这个更高级的主题,可以参考Cross Linux From Scratch项目。
关于64位系统的最后要说的是,当前有一些模块不能编译为纯64位,需要特别的编译指令。一般说来,这些模块包含了嵌入的32位系统的特定汇编代码,在64位编译环境中会失败。包括一些来自Beyond Linux From Scratch的Xorg驱动。这些问题一般都有绕过的办法,有的则需要特殊的编译顺序或者补丁。
原文链接 http://www.linuxfromscratch.org/lfs/view/stable/prologue/architecture.html