Linux2.6.36/37下移植yaffs2
时间:2011-06-10 来源:Leo Chin
yaffs2 老版本不支持2.6.36以上内核。 网上下载的yaffs2常见版本(点击http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/下方的Download GNU tarball进行下载)一般不支持2.6.36/37。但2.6.36一下版本依然可以使用。
最新的yaffs2采用git发布,利用git工具下载到最新的yaffs2源代码,即可支持。办法是使用到www.yaffs.net发 布的git方法获得最新版,并且查看readme确认其支持2.6.36/37。yaffs有一个较大的变化,是在2.6.36/37内核发布之后的一段 时间里出现的,主要就是patch-ker.sh多了一个参数,m/s 是选择multiversion支持,还是singleversion支持。
===============================================================
(1)下载源代码
如果系统已经安装git工具,就直接执行:
git clone git://www.aleph1.co.uk/yaffs2
如果没有git工具,请首先下载安装git(http://git-scm.com/)。当然,也可以在windows下用git工具下载。
(2)给内核打补丁
yaffs源代码下载完后,放到某个目录下(但不要放在内核目录下! )进入yaffs源代码目录:
#cd yaffs2
打补丁:
#./patch-kernel.sh c m ../linux-2.6.37
(3)然后配置内核:
#cd ../linux-2.6.37 返回内核根目录
#make menuconfig
File systems -->
Miscellaneous filesystems -->
<*> YAFFS2 file system support
(4) 重新编译内核
#make
=======================
需要注意:因为windows中下载导致文件编码和linux的不同。所以,如果是在windows下用git下载并传递到linux下的,则需要修改两个文件的编码:
(1) 在linux下,进入yaffs2源代码目录
#vi patch-kernel.sh
然后在vi中执行如下命令:
:set ff=unix
保存退出
然后修改权限使patch-kernel.sh具有可执行权限:
#chmod 755 patch-kernel.sh
(3)修改fs/yaffs2/Kconfig的编码
#vi fs/yaffs2/Kconfig
在vi中执行命令:
:set ff=unix
保存退出