背景知识:

一、Ramdisk文件系统:

  1.掉电丢失

  2.读写速度高

  3.数据存储到内存

二、jffs文件系统

  1.掉电不丢失

  2.可存储于NOR NAND,但是适用于NOR

  3.数据存储于flash

三、ramdisk+jffs启动流程:

  以ramdisk为真正根文件系统,jffs为jffs格式的数据分区。

  内核起来后,挂载ramdisk,再挂载jffs数据分区到ramdisk的文件系统

四、混合文件系统意义

  通常jffs分区里面存放应用程序和配置文件。

  ramdisk制作成一个基本的文件系统,不同项目改动的只是jffs2数据分区,可以实现文件系统的重复利用。类似于核心板和底板的关系。

五、ramdisk制作方法

  1.所需文件,制作为ramdisk的根文件系统目录与文件

  2.打包ramdisk

    gzip -v9 ramdisk

  若要修改,则

  1.解压ramdisk压缩包

    gunzip ramdisk.gz

  2.挂载ramdisk

    mount -o loop ramdisk tmp/

  3.进入tmp,开始修改

五、jffs制作方法

  1.所需文件,制作为ramdisk的根文件系统目录与文件

  2.打包脚本

    mkjffs脚本

    #!/bin/sh

    rm -f ./jffs

    mkfs.jffs2 -e 0x20000 -l -s 0x800 --pad=0x2000000 -n -d ./opt/  -o ./jffs

    chmod 777 jffs

  3.执行脚本即可 ./mkjffs

六、内核分区

  以9G45举例说明:

  arch/arm/mach-at91/board-sam9m10g45ek.c

  

七、增加挂载文件

  ramdisk/etc/mtab

  

  第七步修改应该在打包之前完成

混合文件系统(ramdisk+jffs)的更多相关文章

  1. 根文件系统ramdisk.image.gz && uramdisk.image.gz

    1. 根文件系统镜像ramdisk.image.gz和uramdisk.image.gz 通常需要将文件系统输入到Nand Flash当中时,一般可以将根文件系统打包成uramdisk.image.g ...

  2. zju(4)使用busybox制作根文件系统

    1.实验目的 1.学习和掌握busybox相关知识及应用: 2.学会使用交叉编译器定制一个busybox: 3.利用该busybox制作一个文件系统: 4.熟悉根文件系统组织结构: 5.定制.编译ra ...

  3. 第4章 ext文件系统机制

    本文目录: 4.1 文件系统的组成部分 4.2 文件系统的完整结构 4.3 Data Block 4.4 inode基础知识 4.5 inode深入 4.6 单文件系统中文件操作的原理 4.7 多文件 ...

  4. 第4章 ext文件系统机制原理剖析

    将磁盘进行分区,分区是将磁盘按柱面进行物理上的划分.划分好分区后还要进行格式化,然后再挂载才能使用(不考虑其他方法).格式化分区的过程其实就是创建文件系统. 文件系统的类型有很多种,如CentOS 5 ...

  5. ext文件系统机制原理剖析

    本文转载自ext文件系统机制原理剖析 导语 将磁盘进行分区,分区是将磁盘按柱面进行物理上的划分.划分好分区后还要进行格式化,然后再挂载才能使用(不考虑其他方法).格式化分区的过程其实就是创建文件系统. ...

  6. Linux基础命令---mkisofs

    mkisofs mkisofs指令可以创建ISO9660/Joliet/HFS文件系统,现在使用指令genisoimage代替它.genisoImage是一个预掌握程序,用于生成iso 9660/jo ...

  7. 深入浅出 - Android系统移植与平台开发(五)- 定制手机模拟器ROM

    一. 修改化定制Android4.0系统 Android系统启动时,先加载Linux内核,在Linux的framebuffer驱动里可以定制开 机界面,Linux内核启动成功后,挂载根文件系统,启动A ...

  8. 73条日常Linux shell命令汇总,总有一条你需要!

    转载: 73条日常Linux shell命令汇总,总有一条你需要! 1.检查远程端口是否对bash开放: echo >/dev/tcp/8.8.8.8/53 && echo &q ...

  9. Linux shell用法和技巧(转)

    原文出处: techbar   译文出处: 外刊IT评论 使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某 ...

随机推荐

  1. 深入理解c语言_从编译器的角度考虑问题_纪念Dennis Ritchie先生

    开源中国: Dennis Ritchie教授过世了,他发明了C语言,一个影响深远并彻底改变世界的计算机语言.一门经历40多年的到今天还长盛不训的语言,今天很多语言都受到C的影 响,C++,Java,C ...

  2. MongoDB之四( 索引操作)

    我们日常做开发都避免不了要对程序进行性能优化,而程序的操作无非就是CURD,通常我们 又会花费50%的时间在R上面,因为Read操作对用户来说是非常敏感的,处理不好就会被人唾弃,呵呵. 从算法上来说有 ...

  3. JSON字符串转换成JSON对象

    字符串转对象(strJSON代表json字符串) var obj = eval(strJSON); var obj = strJSON.parseJSON(); var obj = JSON.pars ...

  4. SVN记住用户名和密码后如何修改

    今天遇到一个SVN检出代码用户验证问题.由于自己最近参与了好几个项目,一时间忙不过来.所以希望跟着自己的试用期的同事帮我测试一下刚修改完成的新功能是否有问题.但是该同事没有项目中权限,正好今天恰逢星期 ...

  5. 察看so文件的依赖关系

    使用arm-linux-androideabi-readelf 察看依赖动态库 /android-ndk-r8d/toolchains/arm-linux-androideabi-4.7/prebui ...

  6. [MarsZ]程序猿谈大学之大学应该学好哪些课程

    大家好,我是MarsZ,上次给大家带来了程序猿Mars谈大学之大学应该怎么过 ,反响还不错(……),这次继续给大家分析一下大学应该学好哪些课程. 首先必须说明两点:一,以下我说的仅代表个人观点.二,仅 ...

  7. HW3.21

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  8. POJ1050:To the max

    poj1050:http://poj.org/problem?id=1050 * maximum-subarray 问题的升级版本~ 本题同样是采用DP思想来做,同时有个小技巧处理:就是把二维数组看做 ...

  9. <转>为什么转置一个512x512的矩阵,会比513x513的矩阵慢很多?

    转自evol128  特此表示感谢 http://evol128.is-programmer.com/posts/35453.html 问题的出处:http://stackoverflow.com/q ...

  10. CSS 中常用的选择器(选择符)

    一.标签选择器:直接将HTML标签(Tag)作为选择器,可以是p.h1.dl.strong等HTML标签.如: p { font:12px;}em { color:blue;}dl { float:l ...