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

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

时间: 2024-08-03 01:11:41

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

Linux内核设计基础(四)之虚拟文件系统

先来看一下写文件函数write的执行过程: ret = write(fd, buf, len); write适用于各种文件系统,它首先执行sys_write(),而正是这个sys_write()进行实际文件系统类型的判别并执行该类型文件系统下的写操作.我们可以看出在多种多样的文件系统上抽象出了一个通用接口性质的虚拟文件系统. 我们这里非常关心Linux 2.6是如何去实现VFS的.先来看一下VFS中的四个主要的对象类型: 超级块对象,它代表一个具体的已安装文件系统. 索引节点对象,它代表一个具体

FL2440移植linux内核常用命令(command)

Host Ubuntu系统:sudo ifconfig eth0 192.168.1.2 打补丁(补丁和内核在同一目录下/home/chris/temp):cd /home/chris/temp/linux-3.0patch -p1 < ../linux-3.0-s3c2440.patch 开发板u-boot: setenv bootargs 'root=/dev/nfs rw nfsroot=192.168.1.2:/home/chris/nfs_work ip=192.168.1.1 con

Linux学习笔记(四)文件与文件系统的压缩与打包

1.压缩命令为通过一些运算方法去将原本的文件进行压缩,以减少文件所占用的磁盘空间.压缩前与压缩后的文件所占用的磁盘空间比值,就可以称为"压缩比". 2.压缩的好处是可以减少磁盘空间的浪费,在www网站也可以利用文件压缩的技术来进行数据的传送,好让网站带宽的可利用率上升. 3.压缩文件的拓展名大多是.tar,*.tar.gz,*.tgz,*.gz,*.Z,*.bz2. 4.常见的压缩命令有gzip与bzip2,其中bzip2的压缩比gizp还要更好,建议使用bzip2. 5.tar可以用

Unix &amp; Linux大学教程(四):Unix文件系统、进程和作业控制

第23章  Unix文件系统 命名管道 mkfifo : mkfifo [-m mode]  pipe .命名管道必须显式创建,且不会消失(可用rm命令删除). proc文件是用来访问内核信息的伪文件.例如某进程ID为1952,那么该进程相关信息可以在/proc/1952目录下的文件中找到. VFS(virtual file system,虚拟文件系统)实现文件处理的细节. 第24章  目录操作 ~代表home目录:cd - 可以切换到上次访问目录.

移植kernel-3.10.79 (1) 支持 yaffs

网站: http://www.yaffs.net/ 获取方法: 执行git clone git://www.aleph1.co.uk/yaffs2 解压:tar zxf yaffs_source.tar.gz 打补丁: #cd /work/tmp/yaffs2 // cd yaffs-dir #./patch-ker.sh c m ~/mini2440/linux-3.10.79 // ./patch-ker.sh c m linux-tree make menuconfig File Syst

s3c2440 移植linux内核 添加网卡支持 yaffs2文件系统支持

三.内核的移植 说明:针对的是百问网的jz2440 gcc:4.9.1 1.移植内核 首先,下载源码包:https://www.kernel.org/ 现在时间为2014年12月20日其主界面截图为: 在此,就在下较新的稳定的版本作为尝试.在这里有个命名问题需要说明一下,最前面的2.6或者3.18是主版本号码,后面的次版本号是比如2.6.32.65中的32,再后面的比如2.6.32.65中的65是升级版本号,主版本号为奇数的是开发本比如3.17,主版本号为偶数的为稳定版比如3.18,一般情况下名

FL2440移植LINUX-3.4.2(五)-- 添加DM9000的支持

1.参考mini2440拷贝:linux-3.4.2\arch\arm\mach-s3c24xx\mach-mini2440.c里的/* DM9000AEP 10/100 ethernet controller */ 1 /* DM9000AEP 10/100 ethernet controller */ 2 3 static struct resource mini2440_dm9k_resource[] = { 4 [0] = { 5 .start = MACH_MINI2440_DM9K_

FL2440移植Linux2.6.33.7内核

kernel version:2.6.33.7 /linux-2.6.33.7 OS:CentOS 6.4 cross-compilation chain:arm-linux-4.3.2 /usr/local/arm/4.3.2/bin 第一步:修改配置 (1)选择合适的内核代码,作为硬件参考目标平台 arch/arm/mach-s3c2440 内核版本支持s3c2440,所以不需要作修改. (2)修改顶层Makefile 设置体系架构:line193:ARCH?=$(SUBARCH)改为ARC

使用cygwin移植Linux的项目到Windows下之总结(转)

使用cygwin移植Linux的项目到Windows下之总结(转) 原文 http://my.oschina.net/michaelyuanyuan/blog/68615?p=1 一.why 接到一个任务,把公司的某个在Linux下开发的项目(也就是一个程序啦)移植到Windows下,使得其可以在Windows下运行,并且运行的结果当然要是正确的啦,何谓正确,当然就是和Linux运行结果比对,一样就行. 二.难在何处 难就难在如何在Windows下编译通过.假设你在Linux下开发了一个这样的程