免费注册 查看新帖 |

Chinaunix

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

在YAFFS2移植中遇到的疑难问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-14 16:32 |只看该作者 |倒序浏览
下载了yaffs2的源码,移植貌似成功:
可以挂载:
# mknod /dev/mtd1 b 31 1
# mkdir /mnt
# mount /dev/mtd1 /mnt
yaffs: dev is 32505857 name is "mtdblock1"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.1, "mtdblock1"
yaffs: block 1955 is marked bad
block 1956 is bad
# ls /mnt
ld-linux.so.2  lost+found     rootfs         rootfs.tar.gz
可以创建新文件和新文件夹,可以列表,可以删除文件。
但是不能复制:
# cp /bin/busybox /mnt
Writing -2048 bytes to chunk!!!!!!!!!
然后就死机了。。

看代码,问题出现在yaffs_guts.c中的yaffs_WriteChunkDataToObject函数中:

if(nBytes < 1 || nBytes > dev->totalBytesPerChunk){
   T(YAFFS_TRACE_ERROR,
   (TSTR("Writing %d bytes to chunk!!!!!!!!!" TENDSTR), nBytes));
   while(1){}
        }

在网上还没有看见有类似的BUG发生。。。
自己又解决不动,烦请高手诊断一下。。

评分

参与人数 1可用积分 +15 收起 理由
bitmilong + 15 分享系一种美德

查看全部评分

论坛徽章:
0
2 [报告]
发表于 2008-11-15 15:22 |只看该作者

回复 #1 beelike 的帖子

我自己来结帖吧。
这次移植YAFFS2文件系统费了两三天的功夫,总算成功了。中间遇到很多问题。
一、下载的YAFFS2的版本。打开下载界面http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/yaffs2/,里面其实有许多版本的,默认显示的都是正在更新中的版本。我一开始没注意,下载的版本是更新才7天的。结果就出现了上述莫名其妙的BUG。可以说暂时肯定没有人可以解答的。还有里面有个pre-large-nand-changes的版本对于64M的NAND也不适宜,挂载很慢,基本上需要10秒钟。我选择的是更新时间11个月的一个版本。比较好用。
二、换了旧一点的YAFFS2版本。又出现新的问题。每次mount 的时候出现一堆
block XXXX is bad. 这个问题的解决办法是使用nand驱动的软件ECC,即ECC_SOFT模式,而在编译YAFFS2时不选Lets Yaffs do its own ECC。
三.关于工具,mkyaffs2image可以将一个文件夹制作成YAFFS2文件系统镜像,但是基本没有用,没法往NAND里面写。在网上看到有人用mkyaffs /dev/mtdblock4  yaffs2.bin 写入镜像,貌似这个功能不能用。mkyaffs的功能就是格式化NAND分区为YAFFS格式。然后就可以直接mount了。如果要做根文件系统,就把需要的文件夹都拷进去就行。也不必使用镜像。
至于flash_eraseall,我也用了。因此也分不清mkyaffs和flash_eraseall谁是必要的。
上述是自己的移植经历。虽然没有什么技术含量,倒也是网上高人资料查询+亲自实践的经验总结。希望对后来者有益。

评分

参与人数 1可用积分 +15 收起 理由
bitmilong + 15 分享系一种美德,鼓励多发帖回帖

查看全部评分

论坛徽章:
0
3 [报告]
发表于 2008-11-21 09:20 |只看该作者

回复 #2 beelike 的帖子

赞一个!
如果能更详细的步骤写一下,可以成为一个大家做yaffs2移植的参考呀。

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
4 [报告]
发表于 2008-11-22 14:36 |只看该作者
精华
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP