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是不一样的,具体可以参考 ...
随机推荐
- vi中全选的命令或者快捷方式
http://blog.163.com/boby_boke/blog/static/126877354200910308522382/网上有两种说法比较多:“:1,$y”和 “dG” 但是我查到有资料 ...
- bookstrap table插件
牛逼的插件: http://www.html580.com/?oF9uwUtZ
- Linux命令-定时任务命令:crontab
linux定时任务命令相当于windows=>附件=>系统工具=>计划任务程序. 要想让linux定时任务生效,首先应该先启动crond服务,并且给这个服务设置开机自自动. 默认li ...
- jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding
Jquery ajax调用WCF服务 例子效果如下:原界面 点击按钮GetList get后,通过指定的Url获取数据添加到table 新建一个控制台项目,添加IContract.cs,DBServi ...
- python练习笔记——求三位的水仙花数
百位数的立方 + 十位数的立方 +个位数的立方 = 原数 for m in range(1,10): for n in range(0,10): for i in range(0,10): a = m ...
- 转 Python标准库01 正则表达式 (re包)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我将从正则表达式开始讲Python的标准库.正则表达式是文字处理中常用的工具,而且 ...
- zabbix中文乱码的解决办法
配置zabbix,发现中文不能正常显示,出现如下图所示的乱码: 修改方法: 1.从windows下控制面板->字体->选择一种字体例如“新宋体” 2.把它拷贝到zabbix的web端的fo ...
- Python atan2() 函数
描述 atan2() 返回给定的 X 及 Y 坐标值的反正切值. 语法 以下是 atan2() 方法的语法: import math math.atan2(y, x) 注意:atan2()是不能直接访 ...
- JavaScript与DOM(上)
本来像自己写一篇的...结果看到了Tom uncle的这篇..总结的确实很赞,其他文章也非常好推荐 转载自:http://www.cnblogs.com/TomXu/archive/2011/12/1 ...
- C 字符串常量和字符串变量定义和区别
字符串常量 定义:在一个双引号""内的字符序列或者转义字符序列称为字符串常量 例如:"HA HA!" "abc" "\n\t& ...