Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Linux文件系统的移植-制作JFFS2文件系统

JFFS2全名是 Journalling Flash File System Version2,是RedHat公司开发的快闪存储器(简称:闪存;英文: Flash Memory)的档案系统[1],其前身是JFFS, 最早只支援NOR Flash, 自2.6版以后开始支援NAND Flash, 极适合使用于嵌入式系统。 JFFS2 功能如下:
  • 支援 NAND flash 装置。
  • 硬连结(Hard links)。这是JFFS 碍于文件格式所无法支援的功能。
  • 压缩。有三种算法: zlib, rubin 以及 rtime.
  • 更佳的效能。
缺点:
  • JFFS2在挂载(mount)时会扫描整个flash 所有的资料,再将档案系统目录储存在system memory, 会线性倍数成长,消耗很多时间。
  • JFFS2没有write-back机制,不能将资料暂存于缓存(cache), 以致于flash I/O的动作频繁。
  • JFFS2设计机制过于复杂,程式码不易阅读。
一、移植环境:1、  Ubuntu 10.10发行版2、  u-boot.bin (下载见 http://www.linuxidc.com/Linux/2012-07/64775.htm )3、  目标机:FS_S5PC100平台4、  交叉编译器 arm-cortex_a8-linux-gnueabi-gcc二、制作jffs2文件系1、配置内核支持jffs2文件系统$ make menuconfigFile system ---> [*] Miscellaneous filesystems ---> <*> Journalling Flash File System v2 (JFFS2) support2、zlib的编译解压zlib-1.2.3.tar.bz2并进入zlib-1.2.3配置编译安装mtd-snapshot-20050519.tar.bz2 与 zlib-1.2.3.tar.bz2 下载:免费下载地址在 http://linux.linuxidc.com/用户名与密码都是www.linuxidc.com具体下载目录在 /2012年资料/7月/9日/Linux文件系统的移植-制作JFFS2文件系统/$ tar xvf zlib-1.2.3.tar.bz2$ cd zlib-1.2.3$ ./configure$ make$ make install3、mtd工具编译解压mtd-snapshot-20050519.tar.bz2 并进入mtd/util编译安装$ tar xvfmtd-snapshot-20050519.tar.bz2$ cd mtd/util$ make$ make install 这样我们的系统里就有了mkfs.jffs2这个工具了4、jffs2文件系统镜像制作$ mkfs.jffs2 -r /source/rootfs -o rootfs.jffs2 -e 0x4000 --pad=0x800000-n$ cp rootfs.jffs2 /tftpboot5、jffs2文件系统烧写# tftp 30008000 rootfs.jffs2# nand erase 500000 800000# nand write 30008000 500000 8000006、设置u-boot启动参数# setenv bootcmdtftp33000000 zImage; go 33000000# setenv bootargs root=/dev/mtdblock2 init=/linuxrc rootfstype=jffs2 rw console=ttySAC0,115200 # savenv 重新启动开发板,查看是否成功。