LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1340|回复: 10

求助:我的lfs建立之后提示bash出错

[复制链接]
发表于 2006-3-18 18:45:11 | 显示全部楼层 |阅读模式
我的lfs终于搞定了,在我兴高采烈的reboot之后,grub引导进入lfs,一切正常,可就在login的时候,输入密码之后,系统提示找不到/bin/bash
可是当我用livecd启动,mount了硬盘检查的时候,bash明明存在,而且在编译了新bash之后,马上就应用了新的bash,如果有问题,应该早就提示了啊
我用的文件系统是reiserfs,在编译内核的时候也加入了对他的支持,况且如果文件系统不支持,也不是那个错误提示吧
请高手帮忙分析分析,谢谢
发表于 2006-3-18 21:31:54 | 显示全部楼层
跟文件系统没有关系,应该是bash的动态库被连接到了不正确的位置.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-18 21:59:55 | 显示全部楼层
排错的时候应该从哪里下手呢?能否赐教一二?
回复 支持 反对

使用道具 举报

发表于 2006-3-19 01:29:29 | 显示全部楼层
LiveCD 启动后,ldd /mnt/lfs/bin/bash。结果是?

具体的错误是什么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-20 19:03:33 | 显示全部楼层
ldd /mnt/lfs/bin/bash
      linux-get.so.1 => (0xffffe0000)
      libreadline.so.5.0 => /lib/libreadline.so.5.0 (0x......)
      libhistory.so.5.0 => /lib/libhistory.so.5.0(.....)
      libncurses.so.5 => /usr/lib/libncurses.so.5
      libd1.so.2 =>/lib/libd1.so.2
      libc.so.6 => /lib/libc.so.6
      /lib/ld-linux.so.2

以上就是系统输出的结果,关于括号里面关于内存地址的东西我就省略了(不知道是不是内存地址,我猜测的)
看了上面的结果,应该没有问题吧,“/”在我进入lfs系统的时候就应该代表之前的虚根了吧……

在我遇到的问题中,输入login的密码后,系统是提示:
    Cannot execute /bin/bash : No such file or directory
回复 支持 反对

使用道具 举报

发表于 2006-3-20 19:22:58 | 显示全部楼层
是不是每一个都有地址的?不然的话,哪个没地址,就是哪个的错。。

我的 libncurses 是在 /lib 的,你的不是,我不知道错误是否在这里。。
回复 支持 反对

使用道具 举报

发表于 2006-3-20 19:27:26 | 显示全部楼层
ls /mnt/lfs/lib/libreadline.so.5.0 /mnt/lfs/lib/libhistory.so.5.0 /mnt/lfs/usr/lib/libncurses.so.5 /mnt/lfs/lib/libd1.so.2 /mnt/lfs/lib/libc.so.6 /mnt/lfs/lib/ld-linux.so.2

看看结果
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-20 19:51:16 | 显示全部楼层
Post by 终极幻想
是不是每一个都有地址的?不然的话,哪个没地址,就是哪个的错。。

我的 libncurses 是在 /lib 的,你的不是,我不知道错误是否在这里。。


linux-get.so.1 => (0xffffe0000)
这个貌似就没有地址


还有楼上兄弟指出的ls,出来的结果是都在


如此来说,问题就出在linux-get.so.1 => (0xffffe0000)这个东西上?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-20 20:41:13 | 显示全部楼层
顺便问一下,如果是linux-get.so.1出了问题
怎么查他属于哪个包呢?
回复 支持 反对

使用道具 举报

发表于 2006-3-20 22:47:41 | 显示全部楼层
$ ldd `which bash`
        linux-gate.so.1 =>  (0xffffe000)
        libreadline.so.5 => /lib/libreadline.so.5 (0xb7f25000)
        libhistory.so.5 => /lib/libhistory.so.5 (0xb7f1e000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7f1a000)
        libc.so.6 => /lib/libc.so.6 (0xb7df9000)
        libncurses.so.5 => /lib/libncurses.so.5 (0xb7db6000)
        /lib/ld-linux.so.2 (0xb7f75000)

(0xffffe000) 这么大的地址在上边,怎么会没有地址呢?。。。。


file /mnt/lfs/lib/libreadline.so.5.0 /mnt/lfs/lib/libhistory.so.5.0 /mnt/lfs/usr/lib/libncurses.so.5 /mnt/lfs/lib/libd1.so.2 /mnt/lfs/lib/libc.so.6 /mnt/lfs/lib/ld-linux.so.2

运行这个看看。。。
回复 支持 反对

使用道具 举报

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

本版积分规则

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