确保已经安装了有关的工具

sudo apt-get install mtd-utils

mkfs.ubifs -d fs -m  -o rootfslink.ubiimg -e  -c  -F -v
sleep
sync
ubinize -o fs.img -m 2KiB -p 128KiB ubi.cfg -v
sleep
rm rootfslink.ubiimg
sync
$ cat ubi.cfg
[ubifs-volumn]
mode=ubi
image=./rootfslink.ubiimg
vol_id=
vol_type=dynamic
vol_alignment=
vol_name=ubifs
vol_flags=autoresize $ cat ubi.sh
INPUT=$sudo mkfs.ubifs -d ${INPUT} -m -o rootfslink.ubiimg -e -c -F -v
sudo ubinize -o ${INPUT}.img -m 2KiB -p 128KiB ubi.cfg -v
sudo rm rootfslink.ubiimg

ubinize的用法

1.ubinize支持哪些选项

Usage: ubinize [options] <ini-file>

Generate UBI images. An UBI image may contain one or more UBI volumes which
have to be defined in the input configuration ini-file. The flash
characteristics are defined via the command-line options. -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

2.重要选项-p -m -s -O -e

-p 指定flash的物理擦除块大小

-m 指定flash的最小输入输出单元,当为nor flash时,此值应指定为1,当为nand flash时此值应指定为页面大小

-s 指定子页大小,当为nor flash时,此值应指定为1,当为nand flash时需指定此值为nand flash的子页大小

-O 指定vid header的偏移量

-e 指定放在EC头中的擦除计数器值,默认为0

3.ubinize这个工具存在什么意义?

既然有了mkfs.ubifs,为什么又出现了ubinize这个工具,只有经过ubinize处理过的镜像文件烧写到flash中后,ubi工具才能正确处理这些存储在flash中的数据

Ubuntu 利用 mtd-utils 制作ubifs.img的更多相关文章

  1. Tiny6410 关于制作ubifs文件系统映像

    Tiny6410的superboot设计使得我不能用yaffs2文件系统,不过也罢,费点事就费点事吧 在这之前要安装mktools系列工具哦~~ 进入工作目录/opt/FriendlyARM/mini ...

  2. Ubuntu 下使用 python3 制作读取 QR 码

    Ubuntu 下使用 python3 制作读取 QR 码 作者已经在 Windows 上实现 python3 制作读取 QR 码.本文主要针对解决将代码移植到 Ubuntu 系统时所遇到的问题. 相关 ...

  3. 在不格式化原有系统盘的情况下,利用grub4dos+firadisk制作RamOS VHD Win7总结

    在不格式化原有系统盘的情况下,利用grub4dos+firadisk制作RamOS VHD Win7总结在不格式化原有系统盘的情况下,用grub4dos+firadisk安装WIN7到VHD,内存大的 ...

  4. 利用mtd工具实现嵌入式设备在线升级

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   主要思路是:通过web post方式将升级文件交给CGI程序处理,然后通过mtd工具实现设备在线升级. 1.页面部分 & ...

  5. 利用DIV+CSS制作网页过程中常用的基本概念及标签使

    CSS主要用于对HTML文件功能的补充及扩展,其作用就是对HTML文件中各种排版进行设置,达到对网页中字体.颜色.背景.图片等的控制,使网页能够完全依照设计者的想法来显示. CSS可以控制网页的显示, ...

  6. 【百度地图API】如何利用地图API制作汽车沿道路行驶的动画?——如何获得道路层数据

    原文:[百度地图API]如何利用地图API制作汽车沿道路行驶的动画?--如何获得道路层数据 有几个做汽车导航的朋友问我说,他们想在地图上制作一辆车沿着道路行驶的动画.可是,百度地图的道路数据并没有公开 ...

  7. 利用Bootstrap框架制作查询页面的界面

    UI设计实战篇——利用Bootstrap框架制作查询页面的界面   Bootstrap框架是一个前端UI设计的框架,它提供了统一的UI界面,简化了设计界面UI的过程(缺点是定制了界面,调整的余地不是太 ...

  8. 利用DIV+CSS制作网页过程中常用的基本概念及标签使用细节

    CSS主要用于对HTML文件功能的补充及扩展,其作用就是对HTML文件中各种排版进行设置,达到对网页中字体.颜色.背景.图片等的控制,使网页能够完全依照设计者的想法来显示. CSS可以控制网页的显示, ...

  9. 史上最全最强Charles截取手机https协议数据包教程(附上利用此技术制作最近微信比较火的头脑王者辅助外挂)!

    纯原创,思路也是本人花了半个小时整理出来的,整个完成花费了本人半天时间,由于不才刚大学毕业,所以有的编码方面可能不入大牛们的眼,敬请原谅!如有转载请附上本地址,谢谢! 最近微信朋友圈刚刚被跳一跳血洗, ...

  10. 利用Costura.Fody制作绿色单文件程序(C#程序(含多个Dll)合并成一个Exe)

    原文:利用Costura.Fody制作绿色单文件程序(C#程序(含多个Dll)合并成一个Exe) 开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了.这 ...

随机推荐

  1. Oracle 11g 数据库 expdp/impdp 全量导入导出

    从一个用户导出导入到另一个用户 问题 环境:oracle 11g; redhat 6 usera是具有DBA权限,密码为usera 全量导出usera用户下的所有内容,并导入到新建的userb用户 解 ...

  2. Spring boot+Vue全栈开发---Spring Boot文件上传

    https://blog.csdn.net/Day_and_Night_2017/article/details/86980743 文件上传涉及到两个组件:CommonsMultipartResolv ...

  3. Spring Boot核心原理

    Spring Boot核心原理 spring-boot-starter-xxx  方便开发和配置 1.没有depoy setup tomcat 2.xml文件里面的没有没有了 @SpringBootA ...

  4. 【转载】迄今为止把同步/异步/阻塞/非阻塞/BIO/NIO/AIO讲的这么清楚的好文章(快快珍藏)

    原文链接:https://www.cnblogs.com/lixinjie/p/10811219.html 常规的误区 假设有一个展示用户详情的需求,分两步,先调用一个HTTP接口拿到详情数据,然后使 ...

  5. Vue导出ZIP

    Export2Zip /* eslint-disable */ require('script-loader!file-saver'); import JSZip from 'jszip' expor ...

  6. DateUtil 提供一些常用的时间想法的方法

    package com.opslab.util; import java.text.ParseException;import java.text.SimpleDateFormat;import ja ...

  7. 获取Django model中字段名,字段的verbose_name,字段类型

    如下app:ywreport下存在model:Game: class Game(models.Model): name = models.CharField(u'游戏名称',max_length=30 ...

  8. 增强篇6 CMOD增强删除

    CMOD实施了一个增强,但是不需要了,怎么删除呢? 要删除PPCO0005 这个增强,进入编辑状态,发现没有删除按钮,  把PPCO0005 这项删除掉 敲回车,厉害了,他又回来了,所以在这里是没法删 ...

  9. Go语言学习笔记——Go语言数据类型

    布尔型 布尔型的值只可以是常量 true 或者 false.一个简单的例子:var b bool = true. 数字类型 整型 int 和浮点型 float32.float64,Go 语言支持整型和 ...

  10. idea创建自定义代码块

    1.File——>settings 2.找到Editor——>live Templates,点击加号+ 3.创建group或直接创建,我这里创建了一个user组,然后在user组里面添加l ...