主题 : yaffs 文件系统加载时出错 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 6053
精华: 0
发帖: 6
金钱: 50 两
威望: 42 点
综合积分: 12 分
注册时间: 2009-05-18
最后登录: 2011-03-20
楼主  发表于: 2009-05-19 19:55

 yaffs 文件系统加载时出错

yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem) on device 31:2.
Freeing init memory: 124K
Kernel panic - not syncing: Attempted to kill init!

请问有没有人遇到过这个错误啊,哪位大侠知道怎么解决,
级别: 新手上路
UID: 4505
精华: 0
发帖: 4
金钱: 35 两
威望: 26 点
综合积分: 8 分
注册时间: 2009-03-17
最后登录: 2011-05-30
1楼  发表于: 2009-05-20 17:19
我遇到了,答案就是无法解决,你换成CRAMFS的就OK了
级别: 新手上路
UID: 6077
精华: 0
发帖: 1
金钱: 10 两
威望: 10 点
综合积分: 2 分
注册时间: 2009-05-19
最后登录: 2009-06-16
2楼  发表于: 2009-05-20 20:43
我这也出现同样的情况,用yaffs作为根文件系统,使用linux-2.6.29-mini2440-20090429.tgz内核,并且能确认MTD分区是正确的。

哪位大虾用yaffs作为根文件系统成功了的,指点一下:)
级别: 新手上路
UID: 6053
精华: 0
发帖: 6
金钱: 50 两
威望: 42 点
综合积分: 12 分
注册时间: 2009-05-18
最后登录: 2011-03-20
3楼  发表于: 2009-05-22 08:34
我换成mini2440自带的文件系统又可以。
但我自已做的就是不行。(启动参数是mini2440原来的默认参数)
连linuxrc都没有执行,其它设置不对l inuxrc应该执行的啊。
难道是不能定位文件系统?
哪位大侠知道怎么解决啊
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
4楼  发表于: 2009-05-22 10:30
Kernel panic - not syncing: Attempted to kill init!

出现这个信息说明文件系统已经正确挂载了,至少内核开始执行文件系统里的init进程。出错的原因在于init进程无法正确执行,这原因可能有很多种,比如共享库无法被链接到,ABI类型不匹配,等等等等
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
5楼  发表于: 2009-05-22 10:40
你把你的文件系统打包(不是做好的yaffs格式镜像!, 用tar czvf rootfs.tar.gz /path/to/your/rootfs/directory)上传到ftp://arm.gooth.cn/incoming吧,我看一下具体是什么问题
用户名: arm
密码:aiothome
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 6053
精华: 0
发帖: 6
金钱: 50 两
威望: 42 点
综合积分: 12 分
注册时间: 2009-05-18
最后登录: 2011-03-20
6楼  发表于: 2009-05-27 08:36
问题已解决,谢谢大家(特别是版主)的帮助
问题是因为我用gcc4.3.2编译内核,而用gcc3.4.1编译busybox,不知道是不是两者的ABI类型不兼容。

gcc4.4.3编译linux2.6.29  + gcc4.3.2编译的busybox1.13.3  可以正常启动。

但我还是不明白我换成下面这样的搭配为什么不行
(1) gcc3.4.1 编译的linux-2.6.29
(2) gcc3.4.1 编译的busybox1.13.3
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
7楼  发表于: 2009-05-27 12:37
但我还是不明白我换成下面这样的搭配为什么不行
(1) gcc3.4.1 编译的linux-2.6.29
(2) gcc3.4.1 编译的busybox1.13.3


想要busybox正常运行,你需要保证下面三个地方的ABI类型一致:
1. 内核所支持的ABI类型(内核配置中的kernel features选项中,和用哪个gcc编译内核没有关系);
2. busybox所用到动态库,比如glibc的ABI类型。可以用readelf -a /path/to/libc-xx.xx.xx.so查看
3. busybox本身ABI类型,取决于是否用EABI的toolchain编译
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 6053
精华: 0
发帖: 6
金钱: 50 两
威望: 42 点
综合积分: 12 分
注册时间: 2009-05-18
最后登录: 2011-03-20
8楼  发表于: 2009-05-27 20:53
终于明白了,谢谢kasim.
级别: 骑士
UID: 4234
精华: 0
发帖: 152
金钱: 1420 两
威望: 1142 点
综合积分: 304 分
注册时间: 2009-03-05
最后登录: 2012-08-18
9楼  发表于: 2009-05-28 11:27
引用第1楼aniki于2009-05-20 17:19发表的  :
我遇到了,答案就是无法解决,你换成CRAMFS的就OK了

不要乱说,这个问题我也有过,解决了,我记得是改了几个地方