OK335xS 256M 512M nand flash make ubifs hacking
/*********************************************************************************
* OK335xs 256M 512M nand flash make ubifs hacking
* 声明:
* 本文主要是记录分析如何生成ubifs文件系统。
*
* 2015-11-14 晴 深圳 南山平山村 曾剑锋
********************************************************************************/ \\\\\\\\\\\-*- 目录 -*-///////////
| 一、for 256M nand flash
| 二、for 512M nand flash
| 三、mkfs.ubifs Options:
| 四、ubinize Options:
| 五、分析示例:
--------------------------------- 一、for 256M nand flash
./mkfs.ubifs –F -q -r rootfs -m -e -c -o ubifs.img
./ubinize -o ubi.img -m -p 128KiB ubinize.cfg 二、for 512M nand flash
./mkfs.ubifs –F -q -r rootfs_v2 -m -e -c -o ubifs.img
./ubinize -o ubi.img -m -p 128KiB ubinize.cfg 三、mkfs.ubifs Options:
-r, -d, --root=DIR build file system from directory DIR
-m, --min-io-size=SIZE minimum I/O unit size
-e, --leb-size=SIZE logical erase block size
-c, --max-leb-cnt=COUNT maximum logical erase block count
-o, --output=FILE output to FILE
-j, --jrn-size=SIZE journal size
-R, --reserved=SIZE how much space should be reserved for the super-user
-x, --compr=TYPE compression type - "lzo", "favor_lzo", "zlib" or
"none" (default: "lzo")
-X, --favor-percent may only be used with favor LZO compression and defines
how many percent better zlib should compress to make
mkfs.ubifs use zlib instead of LZO (default %)
-f, --fanout=NUM fanout NUM (default: )
-F, --space-fixup file-system free space has to be fixed up on first mount
(requires kernel version 3.0 or greater)
-k, --keyhash=TYPE key hash type - "r5" or "test" (default: "r5")
-p, --orph-lebs=COUNT count of erase blocks for orphans (default: )
-D, --devtable=FILE use device table FILE
-U, --squash-uids squash owners making all files owned by root
-l, --log-lebs=COUNT count of erase blocks for the log (used only for
debugging)
-v, --verbose verbose operation
-V, --version display version information
-g, --debug=LEVEL display debug information ( - none, - statistics,
- files, - more details)
-h, --help display this help text 四、ubinize Options:
Example: ubinize -o ubi.img -p 16KiB -m -s cfg.ini - create UBI image
'ubi.img' as described by configuration file 'cfg.ini'
-o, --output=<file name> output file name
-p, --peb-size=<bytes> size of the physical eraseblock of the flash
this UBI image is created for in bytes,
kilobytes (KiB), or megabytes (MiB)
(mandatory parameter)
-m, --min-io-size=<bytes> minimum input/output unit size of the flash
in bytes
-s, --sub-page-size=<bytes> minimum input/output unit used for UBI
headers, e.g. sub-page size in case of NAND
flash (equivalent to the minimum input/output
unit size by default)
-O, --vid-hdr-offset=<num> offset if the VID header from start of the
physical eraseblock (default is the next
minimum I/O unit or sub-page after the EC
header)
-e, --erase-counter=<num> the erase counter value to put to EC headers
(default is )
-x, --ubi-ver=<num> UBI version number to put to EC headers
(default is )
-Q, --image-seq=<num> -bit UBI image sequence number to use
(by default a random number is picked)
-v, --verbose be verbose
-h, --help print help message
-V, --version print program version 五、分析示例:
. for 256M nand flash:
. ./mkfs.ubifs –F -q -r rootfs -m -e -c -o ubifs.img
-F:file-system free space has to be fixed up on first mount
-q:未知
-r:build file system from directory DIR
-m:最小输入输出大小为2KiB(2048bytes),一般为页大小
-e:逻辑可擦除块大小为124KiB=(每块的页数-)*页大小=(-)*2KiB=124KiB=126976bytes
-c:最多逻辑可擦除块数目为2047(*128KiB=.8MiB),这个可根据ubi volume来设置,实际上是设置此卷的最大容量。
-o:output to FILE
. for 256M nand flash ubinize.cfg:
[ubifs]
mode=ubi
image=ubifs.img // mkfs.ubi生成的源镜像
vol_id= // 卷序号
vol_size=231MiB // 卷大小
vol_type=dynamic // 动态卷
vol_name=rootfs // 卷名
vol_flags=autoresize
. ./ubinize -o ubi.img -m -p 128KiB ubinize.cfg
-o:输出文件名
-m:最小输入输出大小为2KiB(2048bytes),一般为页大小
-p:物理可擦出块大小为128KiB=每块的页数*页大小=*2KiB=128KiB
-s:用于UBI头部信息的最小输入输出单元,一般与最小输入输出单元(-m参数)大小一样。 . for 512M nand flash:
. ./mkfs.ubifs –F -q -r rootfs_v2 -m -e -c -o ubifs.img
-F:file-system free space has to be fixed up on first mount
-q:未知
-r:build file system from directory DIR
-m:最小输入输出大小为2KiB(2048bytes),一般为页大小
-e:逻辑可擦除块大小为124KiB=(每块的页数-)*页大小=(-)*2KiB=124KiB=126976bytes
-c:最多逻辑可擦除块数目为2047(*128KiB=505MiB),这个可根据ubi volume来设置,实际上是设置此卷的最大容量。
. for 512M nand flash ubinize.cfg:
[ubifs]
mode=ubi
image=ubifs.img // mkfs.ubi生成的源镜像
vol_id= // 卷序号
// 卷大小(当然,个人感觉这里是错误的,在另外一份文件里面看到是492MiB,尚未验证)
vol_size=231MiB
vol_type=dynamic // 动态卷
vol_name=rootfs // 卷名
vol_flags=autoresize
. ./ubinize -o ubi.img -m -p 128KiB ubinize.cfg
-o:输出文件名
-m:最小输入输出大小为2KiB(2048bytes),一般为页大小
-p:物理可擦出块大小为128KiB=每块的页数*页大小=*2KiB=128KiB
-s:用于UBI头部信息的最小输入输出单元,一般与最小输入输出单元(-m参数)大小一样。
OK335xS 256M 512M nand flash make ubifs hacking的更多相关文章
- S5PV210 NAND Flash
NAND Flash 关于NAND FlashS5PV210的NAND Flash控制器有如下特点:1) 支持512byte,2k,4k,8k的页大小2) 通过各种软件模式来进行NAND Flash的 ...
- 转载:百为STM32开发板教程之十二——NAND FLASH
http://bbs.21ic.com/icview-586200-1-1.html 百为STM32开发板教程之十二——NAND FLASH 参考资料:百为stm32开发板光盘V3\百为stm32开发 ...
- RAM,SRAM,DRAM,SDRAM,DDR RAM,ROM,PROM,EPROM,EEPROM,NAND FLASH,NOR FLASH的区别
RAM:由字面意思就可以理解,SDRAM SRAM DRAM(下面蓝色字体的这几种)都可以统称RAM,random access memory(随机存取存储器)的缩写,下面是51hei.com为大家整 ...
- Linux学习 : 裸板调试 之 配置使用NAND FLASH
关于NAND FLASH的结构是以页为单位写,以块为单位来擦除: 1Gb 为大页 page=2048Kb BLOCK=128K 512Mb 为小页 page=512byte ...
- u-boot移植总结(三)(转)S3C2440对Nand Flash操作和电路原理(基于K9F2G08U0A)
S3C2440对Nand Flash操作和电路原理(基于K9F2G08U0A) 转载自:http://www.cnblogs.com/idle_man/archive/2010/12/23/19153 ...
- nand flash 扇区的管理以及初始化
(1)首先需要了解NAND FLASH的结构.如图: 以镁光MT29F4G08BxB Nand Flash为例,这款Flash(如上图)以4个扇区(sector)组成1个页(page),64个页(pa ...
- NAND FLASH 原理
NAND FLASH 原理 http://www.360doc.com/content/12/0522/21/21412_212888167.shtml 闪存保存数据的原理: 与DRAM以电容作为存储 ...
- 【转】nand flash坏块管理OOB,BBT,ECC
0.NAND的操作管理方式 NAND FLASH的管理方式:以三星FLASH为例,一片Nand flash为一个设备(device),1 (Device) = xxxx (Blocks),1 ...
- linux 对MTD分区nand flash的烧写和读取
使用mtd-utils工具实现对flash的升级分区的烧写yaffs2 yaffs2的格式是根据所使用的nandflash来制作的,不同的nandflash,得到的yaffs2是不一样的,具体可以参考 ...
随机推荐
- 一个PHP操作大变量的例子
By C extensions we can directly manipulate the large PHP variables, such as:GET,POST,SERVER You can ...
- .net完整的图文验证
摘自:http://blog.csdn.net/durongjian/article/details/4336380 一.创建ValidaeCode类库工程: 1.创建ValidaeCode类库工程, ...
- Eclipse Xml编译错误Referenced file contains errors - spring-beans-4.0.xsd
本文转自:http://josh-persistence.iteye.com/blog/2125420 在eclipse中,有时候在xml文件中,特别是于Spring相关的配置文件中,会出现一些不影响 ...
- DP较为完整的知识
数位DP 这类题,才刚刚接触,记得去年网络赛,就有道这样的题,我完全不会, 对于这类题基本方法是,是利用数的位数来构造转移方程. 下面给出两篇论文的链接: <数位计数问题解法研究> < ...
- 正确关闭Redis
1.首先关闭单机版 我的单机版 是放在redis文件夹下面的 首先你要启动你的单机版redis 直接shutdown quit 退出去 ps aux|grep redis 查看运行的redis 关闭 ...
- SQL Server 数据库表的统计信息的更新
最近在调整基础信息数据时,新增了几个客户类型,意想不到的事情发生了,在使用新增的客户类型作为 查询条件查询报表时,居然出现了超时的现象,但是用其他以前的客户类型查询就没有问题,用一个 ...
- python学习笔记——
python线程的GIL GIL (全局解释器锁)python --- > 支持多线程 ----> 同步和互斥 --->加锁 --->解释器加锁 ————> 解释器同一时 ...
- Android 手机上获取物理唯一标识码
唯一标识码这东西在网络应用中非常有用,例如检测是否重复注册之类的. import android.provider.Settings.Secure;private String android_id ...
- POSIX 消息队列 和 系列函数
一.在前面介绍了system v 消息队列的相关知识,现在来稍微看看posix 消息队列. posix消息队列的一个可能实现如下图: 其实消息队列就是一个可以让进程间交换数据的场所,而两个标准的消息队 ...
- 【Android】20.0 第20章 音频、视频、拍照、语音合成
分类:C#.Android.VS2015: 创建日期:2016-03-11 一.简介 Android提供了常见的多媒体文件编码.解码机制,你可以直接调用Android提供的API,实现相册.播放器.录 ...