QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2800|回复: 4

一个很奇怪的问题,不知道原因何在,向高手请教!

[复制链接]
发表于 2007-1-12 14:55:07 | 显示全部楼层 |阅读模式
我的开发板在启动过程中,有70%左右的几率会出现一下问题:
.......
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 204
NET: Registered protocol family 1
NET: Registered protocol family 17
eth0: DSPCFG accepted after 0 usec.
eth0: link up.
eth0: Setting full-duplex based on negotiated link capability.
IP-Config: Complete:
      device=eth0, addr=10.3.37.217, mask=255.255.255.0, gw=10.3.37.254,
     host=iptv10, domain=, nis-domain=(none),
     bootserver=10.3.37.121, rootserver=10.3.37.121, rootpath=
Looking up port of RPC 100003/2 on 10.3.37.121
Looking up port of RPC 100005/1 on 10.3.37.121
VFS: Mounted root (nfs filesystem) readonly.
Freeing unused kernel memory: 148k freed
到这里,就死机了.

若正常情况下:
接下来应该会出现以下信息:
Algorithmics/MIPS FPU Emulator v1.5
再下来就是开始执行文件系统的启动脚本了.

我用的是2.6.17内核,MIPS架构,跟踪发现,执行到
run_init_process("/sbin/init")的时候就死了(具体在init/main.c中),开始怀疑是文件系统问题,所以做了一个测试脚本test.sh.里面加了一些输出打印
然后在run_init_process("/sbin/init")之前就执行
run_init_process("/test.sh"),发现在其他板子上可以输出test信息,而这块板子不行.
所以就跟踪run_init_process代码,发现它定义如下
static void run_init_process(char *init_filename)
{
        argv_init[0] = init_filename;
        execve(init_filename, argv_init, envp_init);
}
但是却无法找到execve在哪里定义.无法继续往下查找

由于用 同样的kernel和文件系统,在其他板子上就不会出这个问题,所以可以确认是该板子硬件问题.
但是不知道问题出在何处,特向各位高手请教!
发表于 2007-1-15 10:34:39 | 显示全部楼层
查查你的晶震是不是旱错了……
回复

使用道具 举报

 楼主| 发表于 2007-1-16 12:34:05 | 显示全部楼层
好的,我试试,谢谢LS的啊
回复

使用道具 举报

发表于 2007-2-4 18:42:33 | 显示全部楼层
你的nfs为什么是只读的
回复

使用道具 举报

 楼主| 发表于 2007-2-9 20:34:07 | 显示全部楼层
显示是只读的,但是我在文件系统的启动脚本里面remount了,是可以写的,这个没关系
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-3-29 00:55 , Processed in 0.094384 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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