|
|
一、关于LFS家族
LFS就是用源代码自已编译出一个自已的linux系统,是其它的基础,一般是在已经装好的一个发行版linux上编译
BLFS是扩展LFS,把其它的什么APACHE呀各种软件装上去
CLFS是各种体系结构的交叉编译方法,比如在X86上做一个编译器用来编译运行在MIPS架构上的程序
HLFS是系统安全方面的
ALFS是自动管理和编译LFS的工具
Hints是提高系统性能的文档,就是在lfs和BLFS里面没有的东东
patches是构建LFS时用到的补丁,因为要把各种源码合到一起,是有很多不pi配的,所以lfs文档里的软件都是有针对相应版本的
还有一个就是liveCD了,里面有所有LFS所需要的源程序和文档。用它就不用装一个发行版来编译LFS了,光盘就自带了。所以你下一个livecd就行了,400多M
二、关于工具链
理解了什么叫编译工具链可能对构建LFS有比较大的帮助
刚一开始不是有什么binutils第一次的吗,首先要明白binutils这个是二进制处理工具,包含连接器、汇编器等目标程序处理的工具,就是as、ld等
glibc是应用程序编程的函数包,用来生成程序的静态库和动态库,完整的gcc要glibc支持,gcc第一遍是不含glibc的
binutils源代码-->编译--->生成binutls工具
因为你从一开始就没有binutls工具的嘛,也没有完整的gcc编译器的
所有才会有两次编译gcc和binutils
最后编译出来的gcc编译器就叫工具链,因为后面的LFS所有的程序都要用这个工具链生成,
从liveCD启动的linux我们叫宿主系统
跟借鸡生蛋一样
附记:本文是2007年4月14日凌晨,南人北游兄在LFS的QQ群(37072932)中介绍LFS的一些入门知识的谈话,当时我刚好在线,就记了下来,略作整理就发上来了。同时在线的過客寂語兄也会整理后发布在他的Blog中(lesineohn.blog.sohu.com),请大家互为参照。另外本文未经南人北游兄亲自审阅,如有不当,乞望海涵。 |
|