免费注册 查看新帖 |

Chinaunix

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

[内核入门] 求助: mips上启动linux 不能执行/sbin/init [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-09-16 17:16 |只看该作者 |倒序浏览
平台: MIPS + linux 2.6.21 + busybox 1.4.11,内存 强制指定128M.
根文件系统是 initramfs ,
系统可以启动到,run_init_process , 但是在执行busybox 的/sbin/init时,挂住了。
通过跟踪 run_init_process -> execve-> sys_execve-> do_execve
能读到 busybox 的 elf 文件头, 就是执行不了。

做以下分析以及结论:

1. initramfs 肯定是好的, 因为能访问/sbin/init,且读出了改程序的二进制码
2. rootfs 已经mknod 了 /dev/console, 因为 open时没有报错, 这个mknod 是在vmware下做的,不知是佛需要交叉编译的mknod??
3. 网上说执行elf 需要float 支持, 在linux 编译选项中 有-msoft-floatt 的定义,所以和此项无关.
4. file vmlinux elf-32 /msb , file busybox 结果一样,不是文件格式的问题.  
5 按照busybox 的建议, 讲busybox 换成 静态的helloworld 程序, 也没有打印,但是串口能输入字符


问题:
1.  helloworld 执行后, 系统无打印, 串口敲回车能响应, 也不出现panic,  
     怀疑 系统不能执行 elf 文件,在某处将系统挂住了, 否则应该会出现panic, 难道是MMU不对?
     mips的kseg0是不需要内存映射的,
     应用程序 helloworld的入口是 0x00....打头的, 不知系统如何做的映射?

2.   helloworld中直接调用printf, 按照busybox的说明,说printf会在串口打印 printf的内容。
      可是没有打印, 如何才能打印, 需要先激活一个shell吗?  
      问题是执行/sbin/init 的bash 也会挂住。


  各位帮忙分析下,什么原因啊

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
2 [报告]
发表于 2012-09-16 20:00 |只看该作者
可能一个是elf32,一个是elf64的。注意看看ABI一样不一样。
如果把执行的log贴出来会更容易分析一点

论坛徽章:
0
3 [报告]
发表于 2012-09-17 23:58 |只看该作者
amarant 发表于 2012-09-16 20:00
可能一个是elf32,一个是elf64的。注意看看ABI一样不一样。
如果把执行的log贴出来会更容易分析一点

除了amarant说的ABI的问题,建议你检查文件系统的/lib下是否有以下文件:ld-<VERSION>.so;ld.so.1;ld-linux.so.1。后两个是第一个的链接。

论坛徽章:
0
4 [报告]
发表于 2012-09-23 00:00 来自手机 |只看该作者
我是新手,看哪个abi.  用file命令看过init文件,和vmlinux一样,elf32.Msb.
且是静态连接,不存在lib的问题。

另外,貌似生成的init是挂死在__libc_first_init里了,没到main函数呢,难道编译器的库文件与vmlinx不兼容?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP