YAFFS2 file system support │ │
--- 512 byte / page devices │ │
[] Lets Yaffs do its own ECC │ │
[] Use the same ecc byte order as Steven Hill's nand_ecc.c │ │
--- 2048 byte (or larger) / page devices │ │
[] Autoselect yaffs2 format │ │
[] Disable lazy loading │ │
[] Turn off wide tnodes │ │
[] Turn off debug chunk erase check │ │
[] Cache short names in RAM
在这里要说明一下以上的配置,在论坛发贴的时候我因为对它不怎么了解,几乎是全部选上的。后来经过自己的理解和摸索,发现:
1、 --- 2048 byte (or larger) / page devices 目录以下全部不用选,因为这是 yaffs2 文件系统的,如果你是用 yaffs 文件系统的话就不必选择这个了 ( 我到现在还没去研究 yaffs2 比 yaffs 文件系统优越多少,反正 yaffs 文件系统用得好好的 )
2、 Lets Yaffs do its own ECC 这一项,网上很多人说 yaffs 文件系统和 mtd 驱程的更新速度问题,导致加上 ecc 检测后,会挂不了 yaffs 文件系统,所以要把 mtd 驱程的 ecc 检测去掉,让 yaffs 自己做 ecc 检测(就是要选上这一项)。不过去掉 mtd 驱程 ecc 检测的后果就是换来烦人的 Reading data from NAND FLASH without ECC is not recommended 的提示,后来发现原来把 mtd 驱程的 ecc 检测加回去,也可以很好的支持 yaffs 文件系统,所以就把这一项去掉了,终于可以不用再看那烦人的提示了 ^_^
三、现在轮到郁闷我了很久的devfs的问题,因为2.6.12内核以后取消了devfs的配置选项,具体为了什么我不清楚,不过缺少了它内核问题抱怨找不到mtdblock设备。据我所知网上每天都有不少的新手在为此事而困扰^_^
以下给出解决方法:
从2.6.12的fs/Kconfig中拷贝下面几项到2.6.14的fs/Kconfig中去:
config DEVFS_FS
bool "/dev file system support (OBSOLETE)"
depends on EXPERIMENTAL
help
…………………………………………………
config DEVFS_MOUNT
bool "Automatically mount at boot"
depends on DEVFS_FS
help
………………………………………………….
config DEVFS_DEBUG
bool "Debug devfs"
depends on DEVFS_FS
help
…………………………………………………..
help 的部分就省了,反正你在 2.6.12 内核的配置文件会看得到,或者自己写上去也行。
重新make menuconfig 在File systems->Pseudo filesystems目录里面可以后到devfs的配置选项如下:
/proc file system support │ │
/dev file system support (OBSOLETE) │ │
Automatically mount at boot │ │
Debug devfs │ │
Virtual memory file system support (former shm fs) │ │
[ ] Relayfs file system support
顺便说一下,在内核配置的时候经常会看到 debug 选项吧?这是为了调度内核用的,你不需要的话可以去掉。有时还会让你选择 quiet 和 nosy ,选择 nosy 的话输出的调试信息当然会比 quiet 要多了。