自己最近在搞一些内核以及根文件系统的移植,就涉及到了需要在内核中增加对yaffs文件系统的支持。在网上找了一些文档后,自己将具体的操作过程做了一个总结,方便以后查询使用:
在内核源代码中的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平台的内核镜像。