LinuxSir.Org  
| 网站首页 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
精华主题  
主题工具
旧 06-06-22, 09:29 第 16 帖
毛毛熊 帅哥
 
毛毛熊 的头像
 
 
注册会员  
  注册日期: Mar 2006
  我的住址: 上海
  帖子: 4
  精华: 0
 

真是好文章啊,收藏了!
  毛毛熊 当前离线   回复时引用此帖
旧 06-06-23, 10:17 第 17 帖
hongfeng
 
 
 
注册会员  
  注册日期: Nov 2002
  我的住址: 四川
  帖子: 650
  精华: 4
 

好,非常好!







__________________
比石头更坚硬的是水滴;
比水滴更坚硬的是时间。
  hongfeng 当前离线   回复时引用此帖
旧 06-07-01, 20:45 第 18 帖
toxicbug
 
toxicbug 的头像
 
 
注册会员  
  注册日期: Nov 2005
  帖子: 34
  精华: 0
 

我是新手,看了有点云雾的感觉,我现在正在学习LFS的安装,希望大学多多帮助啊!!!
  toxicbug 当前离线   回复时引用此帖
旧 06-07-05, 21:37 第 19 帖
windyzhousir
 
windyzhousir 的头像
 
 
注册会员  
  注册日期: Oct 2004
  我的住址: 深圳
  帖子: 68
  精华: 0
 

Very Good!
youbest兄虽然建议安装过的人再来看,但提前了解这些内容对安装也是很有帮助,知道了为什么这么做,第一次安装就可以学习到更多的东西。
再次感谢youbest所做出的贡献!
  windyzhousir 当前离线   回复时引用此帖
旧 06-07-07, 19:27 第 20 帖
zoujh
 
zoujh 的头像
 
 
注册会员  
  注册日期: May 2004
  帖子: 15
  精华: 0
 

豁然明白了不少一直迷迷糊糊的问题
  zoujh 当前离线   回复时引用此帖
旧 06-08-12, 01:31 第 21 帖
晨想 帅哥
 
晨想 的头像
 
 
资深版主  
  注册日期: Feb 2003
  我的住址: P.R.China
  帖子: 9,643
  精华: 9
 

引用:
内核这东西比较特殊,虽然运行任何程序都需要用的内核,但本身在制作目标系统过程中,目标系统的Linux内核却不需要先进行编译,因为使用Linux内核并不像glibc那样,是依靠动态链接库的方式被调用的,因此后面将不再探讨Linux内核的问题。
这个,是因为装了 kernel header 的原因。:)。。

引用:
但这里有一个问题就是:“主系统”中的gcc和binutils与“预工具”中要求的gcc和binutils版本不同(通常会老些),但只要能正确编译 binutils、gcc就行了,gcc具备自我编译的功能,因此建议编译不同版本的gcc采用bootstrap的方式比较好。当然“主系统”中的在参 与编译过程中的其它工具也需要符合要求就成。
gcc 的 bootstrap 不是用来解决这个版本问题的,纯属是用来检查编译出来的 gcc 是否正确。。bootstrap 和 非 bootstrap 编译出来的gcc 是一样的。不同的是 bootstrap 在编译了再一次后,又用编译出来的gcc编译一个gcc,再用第二个gcc编译最后一个gcc,如果结果相同,那么就可以认为这个gcc是正确的。这样也就解释了,为什么在 CrossLFS 的时候,一般不用 bootstrap,因为后几次的无法进行,不同架构的说。当然,相同体系的话,还是可以进行。。。







__________________
我的wiki: http://wiki.linuxgnu.org

马甲Show:终极幻想 黯然销魂 DawnFantasy FinalFantasy ArmageddonMa
  晨想 当前离线   回复时引用此帖
旧 06-08-12, 12:01 第 22 帖
youbest
 
youbest 的头像
 
 
版主  
  注册日期: Jan 2005
  帖子: 1,524
  精华: 20
 

引用:
作者: 终极幻想
这个,是因为装了 kernel header 的原因。:)。。
大概我没描述清楚,我的意思就是内核不像glibc,glibc是依靠动态链接库的方式调用的,内核不是用动态链接的方式,所以不需要先编译.
已在原文改正。

引用:
作者: 终极幻想
gcc 的 bootstrap 不是用来解决这个版本问题的,纯属是用来检查编译出来的 gcc 是否正确。。bootstrap 和 非 bootstrap 编译出来的gcc 是一样的。不同的是 bootstrap 在编译了再一次后,又用编译出来的gcc编译一个gcc,再用第二个gcc编译最后一个gcc,如果结果相同,那么就可以认为这个gcc是正确的。这样也就解释了,为什么在 CrossLFS 的时候,一般不用 bootstrap,因为后几次的无法进行,不同架构的说。当然,相同体系的话,还是可以进行。。。
这里纯属LFS分析,所以没考虑CLFS(不过在我的CLFS2中的分析里也写了一些).
关于bootstrap的作用,我觉得在LFS确实是为了保证gcc是用和自己相同版本编译的原因,因为在整个LFS中三次编译gcc,只有第一次用了bootstrap,那就是因为主系统的版本不确定,而后两次已经能确定gcc的版本一致,所以没有再用bootstrap,如果按照检查是否正确的说法的话,后两次的gcc的作用更重要,却不做bootstrap就说不过去了,所以我认为,bootstrap就是为了在不同的gcc版本编译的时候用的.







__________________
我的第一本图书出版了!
http://blogold.chinaunix.net/u/13265/showart.php?id=2409099

青橄榄在入口的时候是苦的,过了一会你就可以长久的品味那淡淡而又清爽的甜味。

青橄榄 http://youbest.cublog.cn

青橄榄计划的第一步总算迈出来了,等待它的是万里长征.

做技术要有做技术的原则,决不拿技术做侵权的事情,更不能用来做违法的事情。工作丢了可以再找一个,原则丢了就找不回来了。

此帖于 06-08-12 12:47 被 youbest 编辑.
  youbest 当前离线   回复时引用此帖
旧 06-08-12, 15:11 第 23 帖
sumargin
 
sumargin 的头像
 
 
注册会员  
  注册日期: Apr 2005
  我的住址: 宇宙的深渊
  帖子: 718
  精华: 1
 

youbest,肯定花了大把的时间在LFS上了吧?







__________________
Hack the free software.
Into the freedom world.
Fight for the free.
  sumargin 当前离线   回复时引用此帖
旧 06-08-12, 15:28 第 24 帖
youbest
 
youbest 的头像
 
 
版主  
  注册日期: Jan 2005
  帖子: 1,524
  精华: 20
 

引用:
作者: sumargin
youbest,肯定花了大把的时间在LFS上了吧?
嗯,是没少花时间。
  youbest 当前离线   回复时引用此帖
旧 06-08-12, 19:25 第 25 帖
旅行者2号
 
 
 
注册会员  
  注册日期: Feb 2006
  帖子: 17
  精华: 0
 

真利害!把复杂的东西用这些线条、框框勾勒到简单明了。







__________________
点的是烟。抽的是压力
  旅行者2号 当前离线   回复时引用此帖
旧 06-08-12, 22:11 第 26 帖
晨想 帅哥
 
晨想 的头像
 
 
资深版主  
  注册日期: Feb 2003
  我的住址: P.R.China
  帖子: 9,643
  精华: 9
 

引用:
作者: youbest
这里纯属LFS分析,所以没考虑CLFS(不过在我的CLFS2中的分析里也写了一些).
关于bootstrap的作用,我觉得在LFS确实是为了保证gcc是用和自己相同版本编译的原因,因为在整个LFS中三次编译gcc,只有第一次用了bootstrap,那就是因为主系统的版本不确定,而后两次已经能确定gcc的版本一致,所以没有再用bootstrap,如果按照检查是否正确的说法的话,后两次的gcc的作用更重要,却不做bootstrap就说不过去了,所以我认为,bootstrap就是为了在不同的gcc版本编译的时候用的.
恩,不管 CLFS 还是 LFS,我们讨论的是 bootstrap。

bootstrap 的作用:


For a native build issue the command `make bootstrap'. This will build the entire GCC system, which includes the following steps:



1. Build host tools necessary to build the compiler such as texinfo, bison, gperf.

2. Build target tools for use by the compiler such as binutils (bfd, binutils, gas, gprof, ld, and opcodes) if they have been individually linked or moved into the top level GCC source tree before configuring.
3. Perform a 3-stage bootstrap of the compiler.
4. Perform a comparison test of the stage2 and stage3 compilers.
5. Build runtime libraries using the stage3 compiler from the previous step.

所以说,这个不是校正版本用的,只是用来检查。不管版本是否相同。
  晨想 当前离线   回复时引用此帖
旧 06-08-16, 17:35 第 27 帖
d00m3d
 
d00m3d 的头像
 
 
资深版主  
  注册日期: Nov 2004
  帖子: 14,541
  精华: 10
 

引用:
作者: 终极幻想
恩,不管 CLFS 还是 LFS,我们讨论的是 bootstrap。

bootstrap 的作用:


For a native build issue the command `make bootstrap'. This will build the entire GCC system, which includes the following steps:



1. Build host tools necessary to build the compiler such as texinfo, bison, gperf.

2. Build target tools for use by the compiler such as binutils (bfd, binutils, gas, gprof, ld, and opcodes) if they have been individually linked or moved into the top level GCC source tree before configuring.
3. Perform a 3-stage bootstrap of the compiler.
4. Perform a comparison test of the stage2 and stage3 compilers.
5. Build runtime libraries using the stage3 compiler from the previous step.

所以说,这个不是校正版本用的,只是用来检查。不管版本是否相同。
常言道,引用應註明出處。。。(閃)!







__________________
nO ^^4+73R wH1<h d!5+R0z j00 42E U$1N9 7r% LpHZ 4+ l3457 oN(&
  d00m3d 当前离线   回复时引用此帖
旧 06-08-17, 05:04 第 28 帖
晨想 帅哥
 
晨想 的头像
 
 
资深版主  
  注册日期: Feb 2003
  我的住址: P.R.China
  帖子: 9,643
  精华: 9
 

引用:
作者: d00m3d
常言道,引用應註明出處。。。(閃)!
http://gcc.gnu.org/install/build.html

嘿嘿,因为是从 gcc 包里边的文件看到的,所以没写出引用。。sorry。
(给我追,看你往哪闪)。。
  晨想 当前离线   回复时引用此帖
旧 07-06-21, 00:24 第 29 帖
iveney 帅哥
 
iveney 的头像
 
 
注册会员  
  注册日期: Mar 2006
  我的住址: 韶关<->广州
  帖子: 566
  精华: 0
 

在做了一次lfs后回过头来看这篇文章,简直就是茅塞顿开阿!
  iveney 当前离线   回复时引用此帖
旧 07-06-21, 22:47 第 30 帖
unix_org
 
unix_org 的头像
 
 
注册会员  
  注册日期: Mar 2004
  帖子: 19
  精华: 0
 

My God,youbest兄真乃神也!
  unix_org 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 23:25


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2012, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2011, LinuxSir.Org