LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: foo2008

LFS 6.0 Kick off

[复制链接]
 楼主| 发表于 2008-3-19 10:21:00 | 显示全部楼层

Go on 6.3

tools pass 1完成了,包括6步:
1. 用host tools编译binutils
2. 用host gcc + step 1 binutils编binutils(ld-new)
3. 用host gcc + host binutils + host 动态链接库编gcc
4. 用step 1 binutils + step 3 gcc编linux-header
5. 用step 1 binutils + step 3 gcc + step 4 header编glibc
6. 更新step 2的binutils, 更新gcc指向新的glibc

疑问:step 3中为啥不用step 1的binutils?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-19 14:02:45 | 显示全部楼层
目前的理解:Pass 1其实就是在tools下建立一个交叉编译环境,用来编译Pass 2的目标工具。然后再chroot到目标机,用pass 2在目标机上编译整个目标机系统。
回复 支持 反对

使用道具 举报

发表于 2008-3-19 15:54:42 | 显示全部楼层
用光盘或可引导的lfslivecd-xxx.iso的好处就是敲命令都能够达到运指如飞的熟练程度。
回复 支持 反对

使用道具 举报

发表于 2008-3-19 19:03:46 | 显示全部楼层
Post by foo2008;1828349
目前的理解:Pass 1其实就是在tools下建立一个交叉编译环境,用来编译Pass 2的目标工具。然后再chroot到目标机,用pass 2在目标机上编译整个目标机系统。
算不上是交叉编译,但重点是 Pass 1 的工具链是依赖宿主系统的,而最终的目系统要脱离主系统,独立出来才行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-20 10:59:52 | 显示全部楼层
Post by d00m3d;1828449
算不上是交叉编译,但重点是 Pass 1 的工具链是依赖宿主系统的,而最终的目系统要脱离主系统,独立出来才行


算不上吗?如果我给mips编LFS的话,pass 1应该编出来的就是mips tools chain了吧。

又碰上了一个youbest提示的问题,在编pass 2的时候,编的头晕眼花,把perl5写成了per15。。。。于是就碰上了no gen-translit.pl的问题了。回去切换成lfs又编了一把perl,别的都没编,也不知道会不会还有影响。。。反正glibc测试的时候出了一堆错误,假装没看到,接着编:)
回复 支持 反对

使用道具 举报

发表于 2008-3-20 14:07:45 | 显示全部楼层
如果你在MIPS上给MIPS编译LFS,当然pass1编出来的是mips tool chain.
可是这不能算是交叉编译。

如果你在其它机器(如x86)编译MIPS上的LFS,那是行不通的。因为,如果你设置了目标码为MIPS你编译出来的tool chain根本无法在宿主机上运行。要是设置目标码为x86,该tool chain可以运行,但产生的代码仍然是x86的,也就是说编译出来的东西无法在MIPS上运行。

要解决这些问题,只能靠真正的交叉编译才能够实现。请参考CLFS
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-20 17:03:52 | 显示全部楼层
Post by 地球发动机;1828722
如果你在MIPS上给MIPS编译LFS,当然pass1编出来的是mips tool chain.
可是这不能算是交叉编译。

如果你在其它机器(如x86)编译MIPS上的LFS,那是行不通的。因为,如果你设置了目标码为MIPS你编译出来的tool chain根本无法在宿主机上运行。要是设置目标码为x86,该tool chain可以运行,但产生的代码仍然是x86的,也就是说编译出来的东西无法在MIPS上运行。

要解决这些问题,只能靠真正的交叉编译才能够实现。请参考CLFS


嗯,是x86上编mips的linux。。。当然编译工具时用的参数不一样,例如target至少得设成mips之类的,工具是x86编的,当然可以在x86下运行,工具是for mips的,当然编出的代码页能在mips上跑。不过LFS pass 1的是肯定不行了,呵呵。等搞明白了LFS再瞅瞅其他的,我就等着学好linux后,升职,加薪,赚大钱:)

进入chroot环境了!!!

碰到了大问题了,我用的是vmware workstation 6.0。chroot后,就出毛病了:
不能用tab键,一敲tab,PC喇叭就狂响!太痛苦了!不用tab键怎么行呢,用的话,周围同事都看我!PC喇叭不是声卡,关也关不掉。。。救命啊!
回复 支持 反对

使用道具 举报

发表于 2008-3-20 19:27:30 | 显示全部楼层
交叉編譯,在於系統架構上的轉變,LFS 手冊主要是為 x86 架構而設的,並非說 LFS 不能做交叉編譯,早年還沒有 CLFS 的時候就有篇 Hints 教人如何做,不過現在 CLFS 已很成熟,要玩交叉編譯的話,還是参考 CLFS 手冊吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-21 09:57:21 | 显示全部楼层
用google一搜,直乐,痛苦的不止我一个啊!

0097 linux文本界面下如何关闭pc喇叭(labrun)
将/etc/inputrc中的set bell-style none 前的#去掉,
或echo "set bell-style none" >> ~/.bashrc

在shell里输入set bell-style none,不管用,用set查看也没有显示bell-style!只好以后试试.bashrc了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-21 16:49:59 | 显示全部楼层
该编的都编了,头晕眼花,就剩linux了,周末办了它!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表