混合文件系统(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
第七步修改应该在打包之前完成