免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5281 | 回复: 6
打印 上一主题 下一主题

linux重新编译内核通过,但是不能启动 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-18 10:46 |只看该作者 |倒序浏览
我是在2.6.25上边编译的2.6.20.3内核,编译过程都没有问题,但是在GRUB中设置用新内核启动之后,发现新的内核不能启动。提示的错误是:
/bin/nash : error cannot load shared libraries libgcc_s.so.1.
kernel panic.

现在想问的是,如何解决启动时找不到区享库的情况?

论坛徽章:
0
2 [报告]
发表于 2011-03-18 17:07 |只看该作者
有没有遇到过这种情况呀?

论坛徽章:
0
3 [报告]
发表于 2011-03-18 19:31 |只看该作者
回复 1# explore_zjx


    后来,用系统自带的GCC执行mkinitrd命令,重新生成img文件,问题解决。
1. mkinitrd -v test.img $(uname -r) >log  看一下log文件有无异常
2. mkdir t
    cd t
     zcat ../test.img |cpio -i
     解开img文件,里边有lib usr/lib目录,用 ls -l 查看有没有系统找不到的那个文件,如果确实没有。我的就是没有。
因此将GCC换回系统默认的版本,重新生成即可。但是又有了别的问题,启动的时候不能够加载Root文件系统。

论坛徽章:
0
4 [报告]
发表于 2011-03-18 21:42 |只看该作者
libgcc有两个版本一个是_s的,一个是不带_s的。。看看有这个so文件吗?

论坛徽章:
0
5 [报告]
发表于 2011-03-19 21:59 |只看该作者
有这个文件,但是现在问题又出来了,编译成功的内核不能够启动,似乎是认不出SATA硬盘驱动。
总是提示could not find filesystem /dev/root.
而我在.config文件中是将那个SYSFS—那个选项打开的。大家解决过这个问题没有?

论坛徽章:
0
6 [报告]
发表于 2011-03-20 11:13 |只看该作者
从高内核到低版本通常不可行
因为很多程序包括库甚至都使用了新的内核功能

论坛徽章:
0
7 [报告]
发表于 2012-05-24 09:57 |只看该作者
是这样吗?这么说只能编译安装比当前更新的内核,不能编译安装旧的内核?回复 6# flw2


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

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP