海王  
串口输出内容如下:
yaffs: dev is 32505859 name is "mtdblock3"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.3, "mtdblock3"
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem).
Freeing init memory: 156K

原因一:

内核与文件系统中的busybox不是同一个版本的编译器编译出来的。在内核启动的过程中,会有如下打印信息,从中可以确认

是当前编译的内核:

Linux version 2.6.25.20 (root@ubuntu) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #5 Tue Oct 12 17:05:52 CST 2010

 ------------------------------------------

原因二

是busybox编译为armv6架构的,所以不能执行。

另外,在/etc/inittab文件中通过::respawn:-/bin/login  登录控制台,而密码文件/etc/passwd由于是从主机中拷贝过来的其内容为:

 root:x:0:0:root:/root:/bin/bash

修改为:

root:x:0:0:root:/root:/bin/ash   或者 root:x:0:0:root:/root:/bin/sh


-------------------------------------------

原因三

编译器编译出来的busybox配对使用的内核版本最好要与实际内核版本配对

file crootfs_leaven4.4.3/bin/busybox
crootfs_leaven4.4.3/bin/busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, for GNU/Linux 2.6.32, stripped
 

posted on 2010-10-09 18:05  海王  阅读(784)  评论(0编辑  收藏  举报