Chinaunix首页 | 论坛 | 博客
  • 博客访问: 570463
  • 博文数量: 826
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5015
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 18:09
文章分类

全部博文(826)

文章存档

2011年(1)

2008年(825)

我的朋友

分类: LINUX

2008-08-22 18:14:35

 
  Linux,每天我们都可以目睹新的发行版诞生,它的情势如同人口增长爆炸一般,险些有些“失控”,之所以选择Linux,每个选择它的人都可以按自己方式提出种种选择的理由。Linux相对于计算机操作系统诞生及发展史,可以说还很年轻,但来自社区的庞大的技术力量,如今Linux已经遍布几乎所有的领域,在尝试与体验不同的Linux发行版之后,对一些商业发行版开始嗤之以鼻,大们大多是出自已个人因素,但更重要的是,“自由”是对选择使用Linux的也是一贯的,且可以是唯一的重要理由。哪是一种富有创造性且不加任何条件无所拘束的自由。

  LinuxFromScratch简称LFS,它将会是自Debian、Slackware、Gentoo之后,多数Linuxfans终极发烧爱好者的首先,Scratch撕裂分解,即有撕裂分解所有的技术代码之意,正如菜单一样,所有的事情都由自己作出决定,我们不需要多余的代码及不可靠的程序。

  LinuxFormScratch由LFS、ALFS、BLFS、CLFS、HLFS、Hints及patches组成的家族。它们分别代表:

  LFS:是用源代码自己编译出一个完全属于自己的linux系统,包括(Binutils等29个工具链在内的原系统),它他们是一个操作系统的基础,它们通常处于操作系统的底层,这里包括了连接器、汇编、链等工具。一般是在一个安装好的linux发行版上建立的,但是如果从LiveCD开始则不需要从一个已建立好的系统开始它们。

  BLFS:是LFS拓展,BLFS将进一步完成并建立一个系统的上层应用,通常可以把它看作为一个操作系统的"应用层"如APACHE、MySQL,甚至KDE等。

  CLFS:是各种体系结构的交叉编译方法,将实现在以一个X86的物理平台上做编译一个可以用来运行在MIPS架构上的程序。

  HLFS:是基于系统安全方面的策略应用。

  ALFS:则是自动管理和编译LFS的工具。

  Hints:是提高系统性能的相关文档,它包含了LFS及BLFS以外的内容,如kerberos等。

  patches:是构建LFS时可能用到的补丁,因为要把各种源码组织到一起,针对不不同的硬件平台以及软件环境,常会遇到一些关联性的问题,另外,许多程序以源代码的方式提供,并且很有可能在数小时的时间里出现许多新的patch版本,如果你总是希望尝试最新的程序。为了更好的解决它们之间的关系,这会对你非常有用.

  最后就是liveCD了,这张光盘里面包括了所有LFS所需要的源程序和文档。通常在没有其它以Linux系统为基础的平台上建立一个完整的LFS,使用它是明智的选择,光盘包括400M可用的全部代码,但它是一个宿主系统,其中并不包括BLFS所涵盖的内容。

  解释:

  Binutils:二进制处理工具,包括了连接器、汇编及目标处理等工具(as、ld)等,建立一个完整的LFS一切将从这理开始。

  Glibc:是应用程序编译所需的函数库,用来生成程序的静态和动态链接库(它通常是系统函数库,或内部函数)有过程序开发经验的人大概都能理解,函数的重要性。同样编译一个完整的GCC需要glibc的支持,通常gcc的第一次编译并不包括glibc的全部内容。

  GCC:是关系到所有的源代码编译的基础,gcc是由GNU提供的以C为基础的高级语言环境支持体系。当然也会包括其它开发语言的内容,之后我们可以从中找到它们,这也是构建一个LFS不可或缺的部分,大部分情况就是如此,如;Python、Perl、等。但在这里GCC的第一次编译通常只建立了一个临时的环境,它并不是真实存在系统当中。当系统进入chroot状态时GCC才能真正寄生于系统之中。

  一般,由LiveCD启动的第一个状态,称之为宿主,通过宿主产生一个新的GCC环境,生成完整的Glibc库之后,才开始构建一个全新的gcc编译环境,通常这是编译后的结果,所以将会出现两次gcc和binutils的编译过程,而最终的编译结果称之为工具“链”因此在随后LFS的编译全部过程将由工具链产生。

  Binutils源—>编译环境—>生成Binutils工具链—>Chroot—调整工具链及其关连性—>第二次编译—>安装必要的工具。

阅读(287) | 评论(0) | 转发(0) |
0

上一篇:恋上了Linux

下一篇:Linux Mint KDE版本发布

给主人留下些什么吧!~~