格式化并挂载ubi文件系统过程详解

2023-11-12

1、UBI文件系统介绍

(1)UBI文件系统是基于MTD子系统的,内核必须要先支持MTD子系统;
(2)UBI文件系统适用于Nand flash,是可读写的文件系统;

2、内核中使能UBI

2.1、使能UBI设备驱动

Location:                                                                                                                                                                                        │  
  │     -> Device Drivers                                                                                                                                                                              │  
  │       -> Memory Technology Device (MTD) support (MTD [=y])                                                                                                                                         │  
  │         -> Enable UBI - Unsorted block images

在这里插入图片描述

2.1.1、UBI wear-leveling threshold

UBI 系统记录每个擦除块发生擦除操作的次数。此选项表示所有擦除操作次数中,最小值和最大值之间允许的最大间隔。此值默认为4096,对于寿命比较短的 MLC器件,此值应该配置相对小一点,比如256。

2.1.2、MTD devices emulation driver (gluebi)

模拟MTD驱动,选择此选项,当创建一个卷时, UBI 将同时模拟一个 MTD设备。这个功能提供了一个接口,供其它文件系统使用UBI。

2.2、使能UBIFS文件系统

在这里插入图片描述
在这里插入图片描述

必须先使能UBI设备驱动,才能找到UBIFS文件系统选项

3、mount 一个空 UBIFS 文件系统

3.1、 查看当前的mtd分区情况

# cat /proc/mtd
dev: size erasesize name
mtd0: 01000000 00020000 "boot"
mtd1: 00400000 00020000 "kernel"
mtd2: 02000000 00020000 "rootfs"
mtd3: 03200000 00020000 "ubi"

3.2、格式化ubi分区

# ubiformat /dev/mtd3

使用ubiformt命令将mtd3分区格式化;

3.3、绑定UBI到MTD分区

# ubiattach /dev/ubi_ctrl -m 3
UBI: attaching mtd3
UBI: scanning is finished
UBI: attached mtd3 (name "ubi", size 50 MiB)
UBI: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
UBI: VID header offset: 2048 (aligned 2048), data offset: 4096
UBI: good PEBs: 400, bad PEBs: 0, corrupted PEBs: 0
UBI: user volume: 0, internal volumes: 1, max. volumes count: 128
UBI: max/mean erase counter:19/11, WL threshold: 4096, image sequence number: 1841457603
UBI: available PEBs: 356, total reserved PEBs: 44, PEBs reserved for bad PEB handling: 40
UBI: background thread "ubi_bgt1d" started, PID 1212
UBI device number 1, total 400 LEBs (50790400 bytes, 48.4 MiB), available 356 LEBs (45203456
bytes, 43.1 MiB), LEB size 126976 bytes (124.0 KiB)

参数” -m 3”表示使用 mtd3 分区,“ -b n”表示保留n个块用于坏块处理。只有绑定了ubi 到 mtd 分区以后,才能在 /dev/ 下找到 ubi设备“ ubin(n=0、1、2······)”;

3.4、创建 UBI 卷

# ubimkvol /dev/ubi1 -N ubifs -s SIZE

参数“ /dev/ubi1”是上一步骤创建的ubi 设备。
参数“ -N ubifs”表示创建的卷名为“ ubifs”。
参数“ -s SIZE”表示创建的分区大小

3.5、查看创建好的UBI卷

# ubinfo /dev/ubi1
Ubi1
Volumes count: 1
Logical eraseblock size: 126976 bytes, 124.0 KiB
Total amount of logical eraseblocks: 400 (50790400 bytes, 48.4 MiB)
Amount of available logical eraseblocks: 356 (47742976 bytes, 43.1 MiB)
Maximum count of volumes 128
Count of bad physical eraseblocks: 0
Count of reserved physical eraseblocks: 40
Current maximum erase counter value: 20
Minimum input/output unit size: 2048 bytes
Character device major/minor: 249:0
Present volumes: 0

3.6、挂载空UBIFS文件系统

# mount -t ubifs /dev/ubi1_0 /mnt/
UBIFS (ubi1:0): default file-system created
UBIFS (ubi1:0): background thread "ubifs_bgt1_0" started, PID 1225
UBIFS (ubi1:0): UBIFS: mounted UBI device 1, volume 0, name "ubifs"
UBIFS (ubi1:0): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048
bytes
UBIFS (ubi1:0): FS size: 43933696 bytes (41 MiB, 346 LEBs), journal size 2158592 bytes (2 MiB,
17 LEBs)
UBIFS (ubi1:0): reserved for root: 2075096 bytes (2026 KiB)
UBIFS (ubi1:0): media format: w5/r0 (latest is w5/r0), UUID
D2E4E92D-2F7D-412F-95E5-25CBECF172EB, small LPT model

推荐

给大家推荐一个学校嵌入式知识的网站,博主在大学时候学习嵌入式知识、找工作的时候都在用这个网站,网站里有C语言、Linux等等的笔试题、面试常问问题等等知识,无论是学习基础知识、面试刷题、交流工作经验都是不错的选择。大家一起进步,欢迎留言交流。
链接:学习神器跳转
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

格式化并挂载ubi文件系统过程详解 的相关文章

随机推荐

  • 当神经网络的模型还不如决策树的效果好

    20210524 0 引言 有时候做实验 一般采用比较简单的分类算法来测试一下这个数据怎么样 比如决策树 随机森林 因为代表编码比较简单 直接sklearn几行代码就完事了 但是最终在测试神经网络的时候 经常性的发现 神经网络的效果还不如决
  • IP封装(IP的头格式)

    大家好呀 我是请假君 今天又来和大家一起学习数通了 今天要分享的知识是IP的封装 IP头选项不经常使用 因此普通的IP头部长度为20字节 其中一些主要字段简介如下 1 版本 Version 标明了IP协议的版本号 目前的协议版本号为4 下一
  • 关于xmind2020超级详细的安装教程

    鉴于网上很多关于xmind的安装方式 版本等等 都不规范 所以我自己写一篇关于xmind安装pojie的文章 第一步 首先我得拿到xmind的安装包以及pojie文件夹 下面附上链接 连接 https 盘 baidu com s 10DSU
  • javascript实现冒泡排序代码

    JavaScript 实现冒泡排序的代码如下 function bubbleSort arr var len arr length for var i 0 i lt len i for var j 0 j lt len 1 i j if a
  • 为什么配方法化二次型为标准型一定可以做到可逆线性变换

    定理 对任意一个 n 元二次型 f x 1 x 2
  • Java-分层设计

    Java 分层设计 表 与 domain BasicDAO 与 XxxDAO Service 与 XxxDAO APPview 与 Service 多表查询 创建domain 创建DAO 在Service中调用DAO 小问题 属性重名 分表
  • 【JAVA】关于类和对象的练习

    1 声明一个Dog类 给Dog类添加两个String类型的属性 分别是name color 一个整型变量age 定义两个方法 分别是sayHello run 在main方法中 接收两个字符串和一个整数 创建一个Dog对象 并设置name c
  • hausdorff距离

    原文 http cgm cs mcgill ca godfried teaching cg projects 98 normand main html 1 前言 在讨论距离问题时 我们通常用最短来描述 比如 点X到多边形P的距离 我们一般指
  • MySQL忘记密码肿么办?教你一招!

    1 当我们在使用mysql数据库时 如果忘记密码会显示下图情况 ERROR 1045 28000 Access denied for user root localhost using password YES 2 解决方案 一般来说我们有
  • Ubantu安装mongodb,开启远程访问和认证

    最近因为项目原因需要在阿里云服务器上部署MongoDB 操作系统为Ubuntu 网上查阅了一些资料 特此记录一下步骤 1 运行apt get install mongodb命令安装MongoDB服务 如果提示找不到该package 说明ap
  • 比C语言还快20%!Mojo首个大模型开放下载,性能达Python版250倍

    明敏 发自 凹非寺量子位 公众号 QbitAI 专为AI而来的新语言Mojo 推理LLaMA2性能比Python提升250倍 比C语言也要快上20 上周五才开放下载 Mojo这么快就自证实力了 要知道 之前官方号称Mojo可以比Python
  • C语言 如何将一个数组a赋给数组b

    采用遍历赋值的方法
  • LVDS接口液晶屏定义(lcd)

    转载于 https blog csdn net linphusen article details 6389032 LVDS接口液晶屏定义 LVDS接口又称RS 644总线接口 20PIN单6定义 1 电源2 电源3 地 4 地 5 R0
  • 丁鹿学堂:前端异步进阶之Rxjs的使用

    响应式编程 Rx 全称Reactivbe Extension 指的是实践响应式编程的一套工具 Rx其实是一个大家庭 针对不同的语言都有适配 最早是微软的c 我们前端关注的是js余元 就是RxJS RxJS 的特点 数据流抽象了很多现实问题
  • pandas 数据类型之 DataFrame

    Python 官网 https www python org 这里 才 python 前沿 可惜是英文原版 所以 我要练习英文阅读 我的CSDN主页 My Python 学习个人备忘录 我的HOT博 老齐教室 自学并不是什么神秘的东西 一个
  • 初涉Rx套餐 之RxBinding(让你的事件流程更清晰)

    转载请注明出处 王亟亟的大牛之路 最近下班回家都在WOW 周末就爆肝 感觉人都要GO DIE了 昨天下午看了看RxBinding相关的功能感觉还是蛮强大的 所提供的API也是相当丰富 基本Rx套餐都是互通的 然后就把之前的Rx例子翻出来重新
  • AE与AO的区别

    在ArcGis9 0之前 ArcObject还不是一个独立的产品 一直捆绑在Desktop产品中 只要你购买了desktop产品中的一个 你就可以使用arcboject开发 从ArcGis9 0开始 ESRI公司推出了ArcGis Engi
  • web自动化测试框架落地实施全过程-测试环境搭建 (Selenium+Python)

    一 什么是web自动化测试 Web自动化测试是指使用自动化工具模拟用户在Web浏览器中执行的操作 通过编写脚本来自动化执行测试用例 以验证Web应用程序的功能 性能和兼容性等方面的质量 其主要目的是降低测试成本和时间 并提高测试效率和准确性
  • 使用selenium启动谷歌Chrome浏览器

    1 首先pip安装selenium pip install selenium 2 下载chromedriver驱动 1 打开自己电脑上的谷歌浏览器 查看版本号 然后chromedriver的版本一定要与Chrome的版本一致 不然下载不对应
  • 格式化并挂载ubi文件系统过程详解

    1 UBI文件系统介绍 1 UBI文件系统是基于MTD子系统的 内核必须要先支持MTD子系统 2 UBI文件系统适用于Nand flash 是可读写的文件系统 2 内核中使能UBI 2 1 使能UBI设备驱动 Location