Linux内核中还不支持yaffs2文件系统,需要给内核打上yaffs2补丁。
关于yaffs2的补丁一定要使用最新的,因为kernel版本是比较新的,对老版本的yaffs2不支持
费了好大力气才弄到可用的yaffs2源码,但也要修改一下代码以适应新版的kernel,代码在XC2440光盘中。
将光盘资料中的yaffs2.tar.bz2源码包解压到内核源码的fs目录下,修改fs目录下的Makefile和Kconfig文件。
Kconfig:
- if MISC_FILESYSTEMS
-
……
-
source "fs/efs/Kconfig"
-
# Patched by YAFFS
-
source "fs/yaffs2/Kconfig"
-
source "fs/jffs2/Kconfig"
Makefile:
- obj-$(CONFIG_EXOFS_FS) += exofs/
-
obj-$(CONFIG_CEPH_FS) += ceph/
-
-
# Patched by YAFFS
-
obj-$(CONFIG_YAFFS_FS) += yaffs2/
配置内核,支持yaffs2文件系统:
- File systems --->
-
DOS/FAT/NT Filesystems --->
-
<*> MSDOS fs support
-
<*> VFAT (Windows95) fs support
-
Miscellaneous filesystems --->
-
<*> YAFFS2 file system support
-
-*-512 byte / page devices
-
-*-2048 byte (or larger) / page devices
-
[*] Autoselect yaffs2 format
设置命令行参数:
- Boot options --->
-
(noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200 rootfstype=yaffs2 rw mem=64M) Default kernel command string
注意:命令行参数很重要,以上内容,缺一不可
说明:现在内核已经支持NandFlash和yaffs2文件系统,将内核烧入NandFlash后,再烧入yaffs2文件系统,可以使用制作好的文件系统,也可以自己制作,详细的制作文件系统方法,请查看《文件系统制作手册》
启动时(成功挂载文件系统)输出:
- yaffs: dev is 32505859 name is "mtdblock3" rw
-
yaffs: passed flags ""
-
VFS: Mounted root (yaffs2 filesystem) on device 31:3.
-
Freeing init memory: 128K
小超嵌入式工作室出品, 转载请注明出处,谢谢合作!
阅读(3945) | 评论(0) | 转发(6) |