JFFS2文件系统的移植
Linux文件系统的移植-JFFS2
JFFS2是JFFS的后继者,由Red Hat重新改写而成。JFFS2的全名为JournallingFlash File System Version 2(闪存日志型文件系统第2版),其功能就是管理在MTD设备上实现的日志型文件系统。与其他的存储设备存储方案相比,JFFS2并不准备提供让传统文件系统也可以使用此类设备的转换层。它只会直接在MTD设备上实现日志结构的文件系统。JFFS2会在安装的时候,扫描MTD设备的日志内容,并在RAM中重新建立文件系统结构本身。
除了提供具有断电可靠性的日志结构文件系统,JFFS2还会在它管理的MTD设备上实现“损耗平衡”和“数据压缩”等特性。
JFFS2 功能如下:
Ø 支持NAND Flash。
Ø 硬连结(Hardlinks),这是JFFS 碍于文件格式所无法支援的功能。
Ø 压缩,有三种算法:zlib, rubin 以及 rtime.
Ø 更佳的效能。
缺点:
Ø JFFS2挂载时需要扫描整块Flash,来确定节点的合法性以及建立必要的数据结构,这使得JFFS2挂载时间比较长。
Ø JFFS2是将节点信息保存在内在中的,使得它所占用的内存量和节点数目成正比。
Ø JFFS2是通过随机方式来实现磨损平衡的,它不能保证磨损平衡的确定性。
Ø JFFS2没有write-back机制,不能将资料暂存于缓存(cache),以致于flash I/O的动作频繁。
移植环境:
Ubuntu 16.04-64
u-boot.bin
目标板:AT91SAM9x25
交叉编译器 arm-none-linux-gnueabi-gcc 4.4.3
内核的支持
也就是说您的内核必须支持jffs2。
zlib的编译
解压zlib-1.2.11.tar.gz并进入zlib-1.2.11配置编译安装
$ tar zxf zlib-1.2.11.tar.gz$ cd zlib-1.2.11$ ./configure$ make$ make install
MTD工具编译
解压mtd-snapshot-20050519.tar.bz2 并进入mtd/util编译安装
$ tar xvf mtd-snapshot-20050519.tar.bz2 $ cd mtd/util $ make $ make install
这样我们的系统里就有了mkfs.jffs2这个工具了,可以自行检查一下。
Jffs2文件系统镜像制作
mkfs.jffs2 -r fsmount -orootfs_new.jffs2 -e 0x20000 --pad=0x800000 -n
ü -r选项指定输入的文件和目录路径,不指定则为当前路径
ü -e, --eraseblock=SIZE,设定擦除块大小为SIZE,缺省为64KB,如果你使用的擦除块与MTD设备的实际擦除块大小不一致,则JFFS2表现不会很好,如果SIZE设置小于4096,则假定单位为KB。
ü -p, --pad[=SIZE],用16進制來表示所要輸出檔案的大小,也就是root.jffs2 很重要的是, 為了不浪費flash空間, 這個值最好符合flash driver所規劃的區塊大小。如果不足则使用0xff来填充补满。
转载于:https://www.cnblogs.com/linux-farmer/p/7152883.html
JFFS2文件系统的移植相关推荐
- linux文件系统的移植-制作JFFS2文件系统
JFFS2全名是 Journalling Flash File System Version2,是Redhat公司开发的快闪存储器(简称:闪存:英文: Flash Memory)的档案系统[1],其前 ...
- u-boot-2012.04.01移植到TQ2440(七):添加分区信息并启动jffs2文件系统
一.添加分区信息并启动jffs2文件系统 烧写之前的内核看输出分区信息 TQ2440 # tftp 32000000uImage dm9000 i/o: 0x20000000, id:0x90000a ...
- ZYNQ开机挂载SPI FLASH中的jffs2文件系统
目录 写在前面 Vivado工程建立 petalinux工程建立 下载程序,开机测试 没成功的话看这里 写在前面 做类嵌入式开发很久了,从51到STM32,Arduino,ESP8266,ESP3 ...
- JFFS2文件系统挂载过程优化的分析报告
一 问题描述 在上电启动优化中发现Linux系统下挂载JFFS2文件系统耗时较长,以128M的NOR FLASH为例,用时接近20秒.后续单板的FLASH容量为256M,时间会更长.如此长的挂载时间, ...
- 挂载jffs2文件系统遇到的问题
在板子里面使用如下命令mount -t jffs2 /dev/mtdblock7 /var/dr_bin/挂载文件系统时遇到几个问题,如下: 提示No such device问题 报错提示如下: 1. ...
- 3--新唐nuc980 kernel支持jffs2, Jffs2文件系统制作, 内核挂载jffs2, uboot网口设置,uboot支持tftp
本文目录 1.uboot网口设置 2.内核创建MTD分区,Jffs2文件系统制作 3.内核支持jffs2 4.内核挂载jffs2 首先支持spi nor flash https://blog.csdn ...
- Fatfs(文件系统的移植)
Fatfs(文件系统的移植) 一.文件系统介绍 二.移植条件.说明 1.FatFs模块在可移植性方面设定了以下条件: 2.数据类型说明 3.系统框架 三.文件移植操作 四.接口的实现 修改后的disk ...
- ARM单片机FATFS文件系统的移植
ARM单片机FATFS文件系统的移植 测试效果 前提条件 下载所需源码 FATFS 文件系统 SFUD万能驱动 加入工程 接口驱动 测试代码 FreeRTOS10.0.1 FATFS FF14A SF ...
- jffs2文件系统删除文件不释放空间
本文记录了jffs2文件系统释放空间失败问题的解决,以及追踪过程. 最近在调试时发现对jffs2文件系统下的文件执行删除动作时,不释放空间. 翻阅了jffs2的讲解http://www.ibm.com ...
- jffs2文件系统[1]--简介
jffs2文件系统[1]--简介 背景 特点 不足 推荐 文档 网站 内核源码 背景 jffs2全名JournallingFlashFileSystemVersion2,闪存日志型文件系统.日志型文件 ...
最新文章
- mapreduce工作流程
- 兼容性好的CSS字体投影
- 资源收集流程为SDN控制器
- cac会议投稿难度大吗_注册化工师考试难度大吗?
- idea导入nodejs插件_sbt 项目导入问题
- LeetCode 2042. 检查句子中的数字是否递增
- JAVA入门级教学之(break跳出)
- 计算机专业直接工作简历,2017计算机专业工作简历
- 和平精英现在服务器暂时未开放,和平精英为什么登陆不进去 和平精英服务器分批登陆是什么意思...
- mina 和 xsocket
- java 数字字符串排序_对Java中包含数字的字符串进行排序
- 高仿大漠找字FindStr
- 【MacOS】必备的常用快捷键
- hive打patch流程说明
- Binder 机制详解—Binder Java框架(转自Cloud Chou's Tech Blog)
- 进入微信企业项目授权回跳之后退出项目需要点击两次(手机的返回主键,回退键)才能正常退出的问题解决
- 电磁场与仿真软件(34)
- 【JVM学习笔记】内存回收与内存回收算法 就哪些地方需要回收、什么时候回收、如何回收三个问题进行分析和说明
- 请求接口参数正确请求失败的问题
- 图片转为字符串(蔡徐坤之舞动人生)