移植方法:
第一步,我们需要YAFFS2的源码,如果大家有兴趣想了解YAFFS2文件系统的驱动原理的话可以直接去访问他们的官网,地址是www.yaffs2.net,上面说的很详细的,也有源码下载地址,怕大家进去后难找,直接贴出YAFFS2的最新源码地址吧http://www.aleph1.co.uk/gitweb?p=yaffs2.git;a=summary, 直接点击,点最新版本,点击最右边的SNAPSHOT下载,这个是目前最新的YAFFS2的源码了。
第二步,将下载下来的YAFFS2最新源码 YAFFS2.tar.gz 放入你LINUX的任意一个目录下,执行 tar zxvf YAFFS2.tar.gz 然后进入YAFFS2源码包,由于最新的源码再执行脚本 patch-ker.sh 时 有四个参数,可以追加:c,l,m,s,
./patch-ker.sh c/l m/s kernelpath
if c/l is c, then copy. If l then link
if m/s is m, then use multi version code. If s then use single version code
上面这段英文应该很好懂吧,简而言之,C 是复制文件,L是链接文件,M是多种,S是单个的,
那么在这里,我们只需执行 ./patch-ker.sh c m /your linux2.6.39.2 kernel directory
执行完这条命令之后,你将会发现在linux2.6.39.2/fs/下发现有了yaffs2目录了,并且里面也出现了好多文件
root@hewenqiang-ubuntu:/SHARE/linux-2.6.39.2/fs/yaffs2# ls
Kconfig yaffs_linux.h yaffs_summary.c
Makefile yaffs_mtdif1.c yaffs_summary.h
yaffs_allocator.c yaffs_mtdif1.h yaffs_tagscompat.c
yaffs_allocator.h yaffs_mtdif2.c yaffs_tagscompat.h
yaffs_attribs.c yaffs_mtdif2.h yaffs_trace.h
yaffs_attribs.h yaffs_mtdif.c yaffs_verify.c
yaffs_bitmap.c yaffs_mtdif.h yaffs_verify.h
yaffs_bitmap.h yaffs_nameval.c yaffs_vfs.c
yaffs_checkptrw.c yaffs_nameval.h yaffs_yaffs1.c
yaffs_checkptrw.h yaffs_nand.c yaffs_yaffs1.h
yaffs_ecc.c yaffs_nand.h yaffs_yaffs2.c
yaffs_ecc.h yaffs_packedtags1.c yaffs_yaffs2.h
yaffs_getblockinfo.h yaffs_packedtags1.h yportenv.h
yaffs_guts.c yaffs_packedtags2.c
yaffs_guts.h yaffs_packedtags2.h
说明这个补丁是打成功了,同时,你会发现,在fs目录下的Kconfig 和Makefile文件里也被相应的添加了加入yaffs2的支持信息,好了,到这一步,说明YAFFS2的补丁是打上了。
注:若在make menuconfig中没有出现yaffs2文件系统的支持,请检查MTD的配置,yaffs2依赖于MTD。