自己最近在搞一些内核以及根文件系统的移植,就涉及到了需要在内核中增加对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. 安卓 NEXUS6 修改分辨率,density

    NEXUS6原density数值: 2k屏 560 每一步: 使用RE文件管理器,编辑system/build.prop.将“ro.sif.lcd_density=”的参数改写成为需要修改的数值,保存 ...

  2. Spring实战1:Spring初探

    主要内容 Spring的使命--简化Java开发 Spring容器 Spring的整体架构 Spring的新发展 现在的Java程序员赶上了好时候.在将近20年的历史中,Java的发展历经沉浮.尽管有 ...

  3. 一. Logback与p6spy

    一. LogBack配置 配置pom.xml <dependency> <groupId>org.slf4j</groupId> <artifactId> ...

  4. 7. redis优化

    一. redis使用上的优化 精简键名和键值 键名:尽量精简,但是也不能单纯为了节约空间而使用不易理解的键名. 键值:对于键值的数量固定的话可以使用0和1这样的数字来表示,(例如:male/femal ...

  5. UVA 133 The Dole Queue

    The Dole Queue 题解: 这里写一个走多少步,返回位置的函数真的很重要,并且,把顺时针和逆时针写到了一起,也真的很厉害,需要学习 代码: #include<stdio.h> # ...

  6. stdlib

    system(pause): int cmp(const void *a ,const void *b) { return *(int *)a - *(int *)b ;          //从小到 ...

  7. Python从2.6升级到2.7,使用pip安装module,报错:No Module named pip.log(转载)

    From:http://blog.csdn.net/iefreer/article/details/8086834 python升级后,使用pip安装module,错误: 错误原因:版本升级后,之前的 ...

  8. Yii 发送电子邮件

    yii 收发邮件 ------------------------------------------------------------------------------------------- ...

  9. 如何使用javadoc

    package com.frank.chapter1; // object.Documentation1.java // TIJ4 Chapter Object, Exercise 13 - 1 /* ...

  10. android之location01

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <Linear ...