混合文件系统(ramdisk+jffs)

背景知识:

一、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.将编译安装好的根文件系统目录压缩

    gzip -v9 ramdisk.img

  2.修改名字为要烧录的名字

    mv ramdisk.img.gz ramdisk-beta2.00

  修改方法

  1.修改名字为要解压的名字

    mv ramdisk-beta2.00 ramdisk.img.gz

  2.解压文件

    gunzip ramdisk.img.gz

  3.挂载到系统文件夹下

    mount -o loop ramdisk.img /opt/sendinfo/filesystem/tmp/

  4.挂载目录中修改编辑

  5.卸载已挂载的根文件系统

    umount /opt/sendinfo/filesystem/tmp/

  6.重新压缩

    gzip -v9 ramdisk.img

  7.重新修改名字为烧录名字

    mv ramdisk.img.gz ramdisk-beta2.00

五、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

  

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

原文地址:https://www.cnblogs.com/pokerface/p/6118444.html