自己最近在搞一些内核以及根文件系统的移植,就涉及到了需要在内核中增加对yaffs文件系统的支持。在网上找了一些文档后,自己将具体的操作过程做了一个总结,方便以后查询使用:

1、获取yaffs源码

YAFFS2的最新源码地址吧,2011年6月28号的那个版本,

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /pub/2011/06/28/YAFFS2/

这个是目前最新的YAFFS2的源码了

参考文章:http://www.linuxidc.com/Linux/2011-08/39661.htm

2、解压yaffs2压缩文件

然后将其解压缩到某个位置,例如/opt/中。
   tar –zxvf yaffs2.tar.gz –C /opt/
 
3、拷贝相应的文件
具体操作如下所示:
在内核源代码中的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平台的内核镜像。

 

在内核中增加对yaffs文件系统的支持的更多相关文章

  1. (repost)在ARM Linux内核中增加一个新的系统调用

    实验平台内核版本为4.0-rc1,增加一仅仅打印Hello World的syscall,最后我们在用户空间swi验证 实验平台内核版本为4.0-rc1,增加的系统调用仅仅是简单打印一个Hello Wo ...

  2. 35、在编译Linux内核中增加程序需要完成以下3项工作

    在编译Linux内核中增加程序需要完成以下3项工作: 将编写的源代码拷入Linux内核源代码的相应目录. 在目录的Kconfig文件中增加关于新源代码对应项目的编译配置选项 在目录的Makefile文 ...

  3. linux 驱动学习笔记02--应用实例:在内核中新增驱动代码目录和子目录

    下面来看一个综合实例,假设我们要在内核源代码 drivers 目录下为 ARM 体系结构新增如下用于 test driver 的树型目录:| --test  | -- cpu  | -- cpu.c ...

  4. 【转】Linux驱动模块编译进内核中

    原文网址:http://blog.chinaunix.net/uid-29287950-id-4573481.html BQ27501驱动编译进内核 一.       驱动程序编译进内核的步骤 在 l ...

  5. 内核添加对yaffs2文件系统的支持

    移植方法: 第一步,我们需要YAFFS2的源码,如果大家有兴趣想了解YAFFS2文件系统的驱动原理的话可以直接去访问他们的官网,地址是www.yaffs2.net,上面说的很详细的,也有源码下载地址, ...

  6. 在/proc文件系统中增加一个目录hello,并在这个目录中增加一个文件world,文件的内容为hello world

    一.题目 编写一个内核模块,在/proc文件系统中增加一个目录hello,并在这个目录中增加一个文件world,文件的内容为hello world.内核版本要求2.6.18 二.实验环境 物理主机:w ...

  7. linux2.6.30.4内核移植(3)——yaffs文件系统移植

    内核源码:linux2.6.30.4 交叉编译工具:3.4.5 移植linux内核至:TQ2440 工作基础:http://www.cnblogs.com/nufangrensheng/p/36696 ...

  8. linux内核中网络文件系统的注册初始化

    针对内核3.9 系统开启时,会使用init/main.c,然后再里面调用kernel_init(),在里面会再调用do_basic_setup(),调用do_initcalls(),调用do_one_ ...

  9. 【总结】嵌入式linux内核中Makefile、Kconfig、.config的关系及增加开机Hello World【转】

    本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/73772109 为了弄清内核的组织结构,我们先来实现下面这个简单的例子. 一.增加 ...

随机推荐

  1. 不包含适合于入口点的静态"Main"方法

    学习新建项目.此问题做为笔记. 错误 1 程序“admin.exe”不包含适合于入口点的静态“Main”方法 原因:原来创建项目的时候,用的是“空项目”,我以为这样就会生成类库,实际上,一开始准备运行 ...

  2. 解决方案:将已存在的项目 添加到 tfs解决方案中的时候 出现:新项目不能成功加入源码控制

    遇到此问题 可能是因为你的 解决方案文件 没有正确与 tfs服务器绑定导致的 解决方式是: 在打开任意一个源码文件的时候,打开 vs2013的 文件>> Go to File->So ...

  3. TX Textcontrol 使用总结五——添加图片

    实现如图所示效果: 实现代码如下所示: 注意,此处不做代码格式化处理... using System;using System.Collections.Generic;using System.Dra ...

  4. 使用MyEclipse可视化开发Hibernate实例

    2.7  使用MyEclipse可视化开发Hibernate实例 2.7节的例子源代码在配套光盘sourcecode/workspace目录的chapter02_first项目中. 这个实例主要演示如 ...

  5. VBA标准模块与类模块

    大家通过之前的介绍,已知道怎么将一个空模块插入VBA的工程中.从插入模块中可以看到,模块有有两种——标准模块与类模块.类模块是含有类定义的特殊模块,包括其属性和方法的定义.在后面会有介绍与说明. 随着 ...

  6. OAF_VO系列3 - Binding Style绑定方式

    在OAF VO开发中,Binding Style主要用于对VO的where clause做动态传值,总共有三种方式 1.       Oracle Named 2.       Oracle Posi ...

  7. [物理学与PDEs]第5章习题参考解答

    [物理学与PDEs]第5章习题1 矩阵的极分解 [物理学与PDEs]第5章习题2 Jacobian 的物质导数 [物理学与PDEs]第5章习题3 第二 Piola 应力张量的对称性 [物理学与PDEs ...

  8. SaveFileDialog的用法

    #region 保存对话框 private void ShowSaveFileDialog() { //string localFilePath, fileNameExt, newFileName, ...

  9. eclipse的shell相关插件

    1.Easy Shell a. 功能 可以在Eclipse IDE里选中一个文件或目录,利用Easy Sehll直接跳转到Sehll窗口,很方便 b. 安装 Help - Install New So ...

  10. RocketMQ术语[转]

    RocketMQ RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点:能够保证严格的消息顺序 能够保证严格的消息顺序 提供丰富的消息拉取模式 高效的订阅者水平扩展能力 实时的消息订阅机制 ...