FL2440移植LINUX-3.4.2(四)-- 添加支持YAFFS文件系统

时间:2022-04-22 19:45:59

1.修改 MTD 驱动源码以支持 yaffs 文件系统

在/drivers/mtd/nand/s3c2410.c的846行
修改
chip->ecc.mode        = NAND_ECC_SOFT;

chip->ecc.mode        = NAND_ECC_NONE;    /* by zhutao */


2.获得yaffs
方法1):(这个版本的yaffs2没有成功)
官网
http://www.yaffs.net/download-yaffs-using-git

获得命令:
git clone git://www.aleph1.co.uk/yaffs2

之前先安装git命令:
sudo apt-get install git

方法2):
进入
http://www.aleph1.co.uk/gitweb?p=yaffs2.git;a=shortlog
点击:snapshot
下载下面这个版本。(最新版有问题)
2014-06-18     Charles Manning    Update to support Linux 3.14/3.15     commit | commitdiff | tree | snapshot

tar xvzf yaffs2-4e188b0.tar.gz -C /home/chris/temp


3.移植 yaffs2 文件系统

所谓移植移植 yaffs2 文件系统实际上就是项 linux 内核添加 yaffs2 文件系统。
向内核添加一个文件系统(或驱动)一般分为三步:
1)添加源文件到内核源码中(打补丁);
2)修改内核相关 kconfig 文件,方便文件系统的 配置;
3)修改内核相关 kbulid makefile 文件,将 yaffs2 文件系统源码目录编译进内核;

YAFFS2使用方法:
cd yaffs-dir
./patch-ker.sh c m linux-tree

例如:
cd /home/chris/temp/yaffs2
./patch-ker.sh c m /home/chris/temp/linux-3.4.2



4.配置内核:

│   Location:                                                                                                                             │  
  │     -> File systems                                                                                                                     │  
  │       -> Miscellaneous filesystems (MISC_FILESYSTEMS [=y])
 │                               <*>   yaffs2 file system support                                                                      │ │  
  │ │                               -*-     512 byte / page devices                                                                       │ │  
  │ │                               [ ]       Use older-style on-NAND data format with pageStatus byte (NEW)                              │ │  
  │ │                               [*]         Lets yaffs do its own ECC                                                                 │ │  
  │ │                               [ ]           Use the same ecc byte order as Steven Hill's nand_ecc.c (NEW)                           │ │  
  │ │                               -*-     2048 byte (or larger) / page devices                                                          │ │  
  │ │                               [*]       Autoselect yaffs2 format (NEW)                                                              │ │  
  │ │                               [ ]       Disable yaffs from doing ECC on tags by default (NEW)   
         
5.编译内核
make zImage