在nand flash上实现JFFS2根文件系统

http://tech.ddvip.com   2008年09月09日    社区交流 收藏本文

内容摘要:JFFS2是Flash上应用最广的一个日志结构文件系统。它提供的垃圾回收机制,不需要马上对擦写越界的块进行擦写,而只需要将其设置一个标志,标明为脏块,当可用的块数不足时,垃圾回收机制才开始回收这些节点。

  JFFS2是Flash上应用最广的一个日志结构文件系统。它提供的垃圾回收机制,不需要马上对擦写越界的块进行擦写,而只需要将其设置一个标志,标明为脏块,当可用的块数不足时,垃圾回收机制才开始回收这些节点。同时,由于JFFS2基于日志结构,在意外掉电后仍然可以保持数据的完整性,而不会丢失数据。

  本文阐述如何在nand flash上实现JFFS2根文件文件系统。实验环境是:FS2410开发平台(我们嵌入式学院目前使用的也是这款开发板)及ubantu7.04主机环境。

  由于使用的ubantu7.04的环境没有安装制作JFFS2文件系统镜像的工具mkfs.jffs2,所以首先在Linux系统中安装mkfs.jffs2工具,安装的过程如下:

  1. 下载MTD工具包

  本处使用的是mtd-snapshot-20050519.tar.bz2:

farsight#tar –jxvf mtd-snapshot-20050519.tar.bz2
farsight#cd mtd
farsight#./configure
farsight#make
farsight#make install

  如果系统中没有安装ZLIB库,那么首先安装ZLIB库。具体的安装过程如下:

farsight#tar –zxvf zlib-1.2.3.tar.gz
farsight#cd zlib-1.2.3
farsight#./configure
farsight#make
farsight#make install

  完成此步骤后,系统中就有了mkfs.jffs2的工具。注意:这个工具不同于mkfs.ext2工具,它只能制作相应的JFFS2文件系统的镜像,而不具有进行格式化的功能,而mkfs.ext2具备这以上两种功能。然后用这个工具就可以制作JFFS2文件系统的镜像了。

  2、制作JFFS2文件镜像

  实验平台用到的nand flash 是K9F1208,在制作镜像过程添加的参数需要和它对应。

  farsight#mkfs.jffs2 -r /source/rootfs -o rootfs.jffs2 -e 0x4000 --pad=0x800000 -n

来源:blog.csdn    作者:刘洪涛    责编:豆豆技术应用

正在加载评论...