LinuxSir.cn,穿越时空的Linuxsir!

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

关于安装LFS的几点疑问

[复制链接]
 楼主| 发表于 2009-1-21 13:23:36 | 显示全部楼层
Post by newper;1940319
6.2太老了,其实你用lfs-livecd去做CLFS-1.10 Pure64肯定没问题的

另外问一下你下的livecd是x86的还是x86_64的?

lfslivecd-x86_64-6.3-r2160.iso

查了一下论坛,准备在硬盘上挂载ISO,就不用刻盘了

。。。
如果照着CLFS-1.10 Pure64的话。。那就DOWN  lfslivecd-x86_64-6.3-r2160-nosrc.iso
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-21 13:32:10 | 显示全部楼层
我编译glibc失败我认为是我下载的版本的问题。。

但是手册上给的下载地址根本就是错误的,那个目录里根本没有手册上说的版本。

我只好在红帽的PUB里DOWN了一个,是不是这个原因呢
回复 支持 反对

使用道具 举报

发表于 2009-1-21 14:15:26 | 显示全部楼层
记得x86_64的livecd里有一本手册的
回复 支持 反对

使用道具 举报

发表于 2009-1-22 12:56:50 | 显示全部楼层
如果您用的手册是 http://cross-lfs.org/view/svn/x86_64-64/
请有选择参考偶给出的帖子,方法不同(主要是工具链部分):上面手册方法是 CLFS-1.x(类似 LFS),偶用的是CLFS-Sysroot。

另,CLFS-Sysroot 方式中 glibc-header 不是必须的,可简化,参看偶帖子里最后一帖(38楼),过一段时间整理一下。

您已经开始 CLFS,LFS 没必要的,看看即可。
相对来说,CLFS 方法更具一般性,LFS 可看成 CLFS 方法特例。
回复 支持 反对

使用道具 举报

发表于 2009-1-22 13:10:46 | 显示全部楼层
进行 CLFS ,个人建议宿主使用与目标系统不同的系统,可减少出问题概率。
等您熟悉后,进行伪交叉编译也是可以的。

比如,目标系统是 x86_64-unknown-linux-gnu,宿主可采用  i686-pc-linux-gnu,确保是进行真正的交叉编译,"native" 的两个手册是反例。

偶这里宿主用的是 debian etch i386。
CLFS 对宿主要求比 LFS 宽泛的多,您可以用  GNU/Linux、FreeBSD、*BSD、甚至是 M$ Windows,重要的是检测一下宿主系统基本需求是否满足。(相对您使用的手册 http://cross-lfs.org/view/svn/x86_64-64/prologue/hostreqs.html)
回复 支持 反对

使用道具 举报

发表于 2009-1-22 14:25:08 | 显示全部楼层
Post by 聚焦深空;1940652
(相对您使用的手册 http://cross-lfs.org/view/svn/x86_64-64/prologue/hostreqs.html)


可是这一页上写着Linux 2.6.22,changelog中说是为了满足coreutils的要求。
或许是说用Linux的话要用2.6.22以上,而用其他类Unix系统就无关,不然的话,CLFS就有局限性了


另外想请教一个问题,编译静态的gcc时不会生成libgcc_eh.a这个库,而编译glibc却需要它,所以CLFS用了一个补丁让glibc不去找这个库,可是clfs-sysroot只编译了一遍glibc,也就没有链接到这个库,这样glibc会不会因为缺了这个库丧失了某些功能而在日后使用中出现问题?
回复 支持 反对

使用道具 举报

发表于 2009-1-22 14:34:37 | 显示全部楼层
Post by newper;1940666
可是这一页上写着Linux 2.6.22,changelog中说是为了满足coreutils的要求。

看到您提的 changlog,这个不说明什么的,coreutils 并不是唯一选择,Linux-kernel 也不是唯一的选择。
http://www.freebsdsoftware.org/sysutils/coreutils.html

这个只是 svn 的开发版,没必要这么教条。

吼吼,看来您发现了一个 bug,您可以报告给 CLFS 官方。
请您参考一下稳定版 CLFS-1.1.0 相应页面没有 linux-kernel 的要求。
Post by newper;1940666
另外想请教一个问题,编译静态的gcc时不会生成libgcc_eh.a这个库,而编译glibc却需要它,所以CLFS用了一个补丁让glibc不去找这个库,可是clfs-sysroot只编译了一遍glibc,也就没有链接到这个库,这样glibc会不会因为缺了这个库丧失了某些功能而在日后使用中出现问题?

这个不是问题,非常时期非常做法罢了。
您要是不放心,可以在建立工具链阶段多编译一遍 glibc。
偶的做法是:用临时系统启动机器后,建立基本系统时,本地编译一遍工具链,包括 glibc,本地编译一遍交叉编译的各个软件包。
嵌入式环境下就不一定有这样的便利了。

请参考一下
http://www.diy-linux.org/piperma ... 05-June/000556.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-22 14:37:29 | 显示全部楼层
已经开始了

硬盘启动的LIVECD 6,3 用的是这个手册

http://cross-lfs.org/view/1.1.0/x86_64-64/

进行到第6.5节的时候 http://cross-lfs.org/view/1.1.0/ ... system/ncurses.html

make install  Ncurses 的时候,停在这个画面。。用TOP查看,一个tic程序占用100%的CPU
我没有找到Ncurses5.6的下载,用的是Ncurses5.7

srcdir=. \
        datadir=/tools/share \
        ticdir=/tools/share/terminfo \
        source=terminfo.tmp \
        THIS_CC="x86_64-unknown-linux-gnu-gcc -m64" \
        THAT_CC="gcc" \
        /bin/sh ./run_tic.sh
** Building terminfo database, please wait...
Running tic to install /tools/share/terminfo ...

        You may see messages regarding extended capabilities, e.g., AX.
        These are extended terminal capabilities which are compiled
        using
                tic -x
        If you have ncurses 4.2 applications, you should read the INSTALL
        document, and install the terminfo without the -x option.


我看了半天INSTALL。。 英文太差,看不明白
回复 支持 反对

使用道具 举报

发表于 2009-1-22 14:44:02 | 显示全部楼层
您遇到的问题满奇怪的,建议先检查一下前面的步骤。
特别是看看有没有安装路径、环境变量、补丁与手册不一致的地方。

另,貌似有的 livecd 上有 sourcecode。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-22 15:11:58 | 显示全部楼层
Post by 聚焦深空;1940676
您遇到的问题满奇怪的,建议先检查一下前面的步骤。
特别是看看有没有安装路径、环境变量、补丁与手册不一致的地方。

另,貌似有的 livecd 上有 sourcecode。


我下载的是nosrc的LIVECD..

我找个5.6版本的再试一下
回复 支持 反对

使用道具 举报

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

本版积分规则

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