首先说明,我没有真正试过在2.6.2x的kernel上用yaffs. 我只能根据通用的NAND Flash Filesystem的原则告诉你需要解决哪些问题:
1. 确保bootloader中(主要是写入yaffs格式的rootfs image)和kernel中(mount rootfs时读出NAND Flash里的image)对于yaffs的配置是一致的,即Block 大小,OOB大小,ECC(软件or硬件)等的配置一致。
2. 分别在bootloader和kernel中加入yaffs的patch,可以有两个选择:
1) 移植2.6.13kernel里的yaffs代码到新的kernel中,配合vivi使用。这样做可以避免修改vivi,但我不确定2.6.13之后kenrel中MTD的接口是否有变化需要yaffs代码做相应的变化。
2)从
www.yaffs.net download最新的yaffs的patch,参考
http://www.yaffs.net/node/346 http://www.yaffs.net/howto-incorporate-yaffs。建议你打开所有yaffs的debug信息。
3. 网上有一些yaffs的移植笔记可以参考,google比任何工具都有效:)
[ 此贴被kasim在2008-02-25 09:44重新编辑 ]