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是不一样的,具体可以参考 ...
随机推荐
- ASP.NET 加入返回参数ReturnValue
说明:很多时候,在DBHelper函数中,都能看到以下的代码: cmd.Parameters.Add(, ParameterDirection.ReturnValue, , , string.Empt ...
- Ubuntu14.04 mount远程服务器上的目录
备忘用. 一,远程服务器设置: 1,在/etc/exports中添加如下配置: /home/xxx *(insecure,rw,sync,no_root_squash,anonuid=123,anon ...
- HDUOJ------敌兵布阵
敌兵布阵 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submissi ...
- log4j的NDC/MDC区别与应用
MDC与NDC除了存储方式(MDC采用MapNDC采用堆栈结构)有区别,其他都一样的 关键点 A -//引入log4j MDC类org.apache.log4j.MDC -//设置值 -MDC.put ...
- python核心编程--笔记(不定时跟新)(转)
的解释器options: 1.1 –d 提供调试输出 1.2 –O 生成优化的字节码(生成.pyo文件) 1.3 –S 不导入site模块以在启动时查找python路径 1.4 –v ...
- pythonl练习笔记——python线程的GIL
python线程中的全局解释器锁GIL(Global Interpreter Lock) python-->支持多线程-->同步和互斥-->加锁-->解释器加锁-->解释 ...
- SVN版本控制业务流程详解
http://blog.sina.com.cn/s/blog_56d8ea900100y9cf.html http://jingyan.baidu.com/article/fa4125acbf509e ...
- 转:ASP.NET MVC 将IList<T>导出Excel文档的泛型类
/// <summary> /// 提供将泛型集合数据导出Excel文档. /// </summary> /// <typeparam name="T" ...
- npm 国内淘宝镜像cnpm、设置淘宝源
1.下载和使用cnpm 某些插件很奇怪,需要用国内的镜像下载才可以 #安装淘宝镜像npm install cnpm -g --registry=https://registry.npm.taobao. ...
- 【转】如何遍历json数据
var value = { "china":{ "hangzhou":{"item":"1"}, "shang ...