使用nandwrite烧写yaffs2文件系统

公司的一个项目上需要做系统升级,以前采用的是jffs2文件系统,后来测试提出开机太慢,网上查找资料,发现yaffs2比jffs2要快,于是决定采用yaffs2文件系统,但问题随之而来,原生linux内核不支持yaffs2文件系统,需要打补丁,打完补丁,编译出所需的mkyaffs2image工具,制作出yaffs2镜像,使用mtd-utils工具集交叉编译出的nandwrite烧写工具烧写,然后挂载,发现总是不成功。网上找了很多资料,主要是yaffs2中对OOB的处理与内核中不统一,大页flash和小页flash的不同,虽然知道,但看代码实在没头绪,也使用了友善之臂提供的mkyaffs2image工具,但制作出来的镜像还是无法被识别,后来网上下载了韦东山的光盘,使用他提供的mkyaffs2image工具和yaffs2补丁代码,终于成功了。


我的开发环境

CPU : AT91SAM9G45

NANDFLASH : K9F2G08U0A(256MB)

SDRAM : 64M

LINUX : 2.6.30


主要参考这篇文章:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3769834


制作镜像

mkyaffs2image rootfs.yaffs2 rootfs

烧写镜像

nandwrite -o -s 0x20000 /dev/mtd4 rootfs.yaffs2
mount -t yaffs2 /dev/mtdblock4 /app


你可能感兴趣的:(Linux)