ITPub博客

首页 > 应用开发 > IT综合 > LFS (版本6.1.1) 安装心得(转)

LFS (版本6.1.1) 安装心得(转)

原创 IT综合 作者:ba 时间:2007-08-16 13:20:37 0 删除 编辑
LFS (版本6.1.1) 安装心得(转)[@more@]---前序:

好多年前,安装过早期的Slackware.

两三年前安装过RedHat9.

基本上就是安装好后, 进桌面系统打一下小游戏,然后就删除掉.因为我的硬盘一直很小,20G.

当然一个很主要的原因是我不喜欢这些发行版中一大堆的东西,太乱,看不明白怎么组织的.

前几天换了40G硬盘,于是划分了8G安装了Debian.装好了后一看也是一大堆的软件,各式各样.正要准备删除.

不知道在哪里看到了LFS一下,顿时被吸引了,于是计划安装一个LFS.而Debian正好作为host system.

下面是我的安装心得,花了周5,周6两个通宵. (glibc, gcc, firefox, Xorg耗时很多,在笔记本上安装.)

写点自己的体会,主要是整理自己对LFS安装过程的理解, 特别是ld和gcc的多次编译.


----目标:

为了创建一个干净的LFS系统.


----实现的大步骤:

1. 尽可能的摆脱host system的影响, 首先创建一个最基本的自治的Toolchain.

这个Toolchain中最基本的需要是: binutils(最基本的binary工具), gcc(编译器), glibc(函数库)

因为其它的tools就可以由这三个创建出来了.

2. 当所有的基本Toolchain工具准备好了,就可以chroot.

3. 在Chroot后的虚拟根/环境下, 用toolchain中的工具生成出最后的LFS系统.


---一个说明:

为什么要创建/tools这个link

初始的Toolchain工具创建在/mnt/lfs/tools目录下.

同时为了将来chroot后, 工具中的Interpreter信息仍然指向正确,使用了一个小技巧.

在host system中的/目录下创建一个名为tools的link, 指向/tools --> /mnt/lfs/tools

这个作用打个比方来说就是,当我们在使用host system的时候,我们可以使用/tools/bin/ld找到ld程序,

将来chroot后,/tools/bin/ld还是能找到这个ld.

否则我们在使用host system的时候,使用/mnt/lfs/tools/bin/ld来找到ld,

换句话说生成的程序包含/mnt/lfs这样的信息,将来chroot之后,可就不太好了.


----符号说明:

(为了行文方便)

bin-0 -----> host system的binutils

ld-0 -----> host system 的ld

bin-1 -----> 第一遍编译出的binutils

ld-1 -----> bin-1中的ld

ld-a -----> 第一次调正后的ld

bin-2 -----> 第二遍编译的binutils

ld-2 -----> bin-2中的ld

ld-b -----> 第二次调正后的ld

bin-3 -----> 第三遍编译生成的binutils

ld-3 -----> bin-3中的ld

gcc-0, gcc-1, gcc-2, gcc-3分别表示host system中的gcc, 和Toolchain中的两遍gcc和最后LFS系统的gcc.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10617731/viewspace-961573/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    1621
  • 访问量
    4429969