自己最近在搞一些内核以及根文件系统的移植,就涉及到了需要在内核中增加对yaffs文件系统的支持。在网上找了一些文档后,自己将具体的操作过程做了一个总结,方便以后查询使用:
1、获取yaffs源码
YAFFS2的最新源码地址吧,2011年6月28号的那个版本,
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /pub/2011/06/28/YAFFS2/
这个是目前最新的YAFFS2的源码了
参考文章:http://www.linuxidc.com/Linux/2011-08/39661.htm
2、解压yaffs2压缩文件
然后将其解压缩到某个位置,例如/opt/中。
tar –zxvf yaffs2.tar.gz –C /opt/
3、拷贝相应的文件
具体操作如下所示:
在内核源代码中的fs目录下创建一个名为yaffs2的目录作为yaffs2文件系统的目录。
将yaffs2目录中所有与支持yaffs文件系统相关的文件都复制到/linux-2.6.30.4/fs/yaffs2/中。
命令及步骤如下:
cp /opt/yaffs2/*.h /linux-2.6.30.4/fs/yaffs2/
cp /opt/yaffs2/*.c /linux-2.6.30.4/fs/yaffs2/
cp /opt/yaffs2/Makefile.kernel /linux-2.6.30.4/fs/yaffs2/Makefile
cp /opt/yaffs2/Kconfig /linux-2.6.30.4/fs/yaffs2/Kconfig
4、修改内核的相关文件
具体操作如下所示:
修改linux-2.6.30.4/fs/Kconfig.
在文件中的source “fs/ext4/kconfig”的一行下面添加类似的一行内容:
source “fs/yaffs2/kconfig”
修改linux-2.6.30.4/fs/Makefile
在文件中的obj-$(CONFIG_EXT4_FS) += ext4/这一行下面增加类似的一行:
obj-$(CONFIG_YAFFS_FS) += yaffs2/
5、编译内核镜像
此时在执行make menuconfig时就可以在filesystem选项中的ext4下面找到yaffs2的选项。
注意将yaffs2的选项选上并标记为“*”使之与内核编译为一体。
make zImage 执行之后,将生成一个支持yaffs文件系统的arm平台的内核镜像。