件系统是专门针对闪存设计的只读压缩的文件系统,其容量上限为256M,采用zlib压缩,文件系统类型可以是EXT2或EXT3.
如果使用RAMDISK方式来使用文件系统,那么在系统运行之后,首先得把flash上的映像文件全部解压到ram中,构造ramdisk环境,才可以运行程序,但有一个致命的弱点,在正常情下,同样的代码不仅在flash占用了空间,而且还在ram中占用极大的空间,这违背了嵌入式中节省资源的原则.
cramfs文件系统并不需要一次性地将文件系统中的所有内容解压到ram中,而只是是系统需要访问某个位置的数据时,马上计算出该数据在cramfs中的位置,将其解压到ram中,然后通过内存访问来获取数据,cramfs中的解压缩之后的内存中的数据存放位置都是由cramfs文件系统本身来管理,用户并不需要实现过程,因此增加了透明度,给开发人员节约了时间.
第一步 将FORLINX_6410_touch.cramfs 复制到 /home 目录下
第二步 在/home目录下新建一个目录cramfs
第3步 将 FORLINX_6410_touch.cramfs 镜像文件挂接到 cramfs目录下,就类似windows 下使用虚拟光驱一样
# mount FORLINX_6410_touch.cramfs cramfs -o loop
第4步 在/home 下,再见一个目录cramfs_new
然后,将cramfs 里的所有文件、文件夹全部复制到 cramfs_new下。
# cp cramfs -r cramfs_new
原因是 cramfs里的文件、文件夹都是只读的
第5步 现在你可以尽情的去修改 cramfs_new 里面的文件了。
例如,我现在修改开发板默认的IP地址
按a键开始编辑
编辑完后按
:wq 存盘退出
第6步重新打包文件系统镜像
#cd /home/cramfs_new
#mkcramfs cramfs 20120209.cramfs