检测MTD分区是否为UBI格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检测MTD分区是否为UBI格式相关的知识,希望对你有一定的参考价值。

有没有可靠的方法来了解MTD分区(例如/ dev / mtd0)是否已经过UBI格式化?我打算在启动脚本(bash)中进行这样的测试,该脚本仅在UBI格式化的MTD分区上调用ubiattach。对我来说,“blkid”似乎没有提供有关mtd分区的任何信息。我也不能在“/ sys / class / mtd /”中找到相关的条目。

答案

您可以使用mtdinfo检查MTD类型:

# mtdinfo /dev/mtd0
mtd0
Name:                           40000000.flash
Type:                           nor
Eraseblock size:                262144 bytes, 256.0 KiB
Amount of eraseblocks:          512 (134217728 bytes, 128.0 MiB)
Minimum input/output unit size: 1 byte
Sub-page size:                  1 byte
Character device major/minor:   90:0
Bad blocks are allowed:         false
Device is writable:             true

# mtdinfo /dev/mtd2
mtd2
Name:                           rootfs
Type:                           ubi
Eraseblock size:                262016 bytes, 255.9 KiB
Amount of eraseblocks:          257 (67338112 bytes, 64.2 MiB)
Minimum input/output unit size: 1 byte
Sub-page size:                  1 byte
Character device major/minor:   90:4
Bad blocks are allowed:         false
Device is writable:             true

如示例所示,/dev/mtd2是ubi!

你可以从http://www.linux-mtd.infradead.org/下载mtd-utils

mtdinfo在包中,你需要构建它。

以上是关于检测MTD分区是否为UBI格式的主要内容,如果未能解决你的问题,请参考以下文章

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

ubifs物理存储

安装win10过程中提示Windows检测到efi系统分区格式化为ntfs?

linux 对MTD分区nand flash的烧写和读取

修改 bootargs 方式增加分区(mtd分区和blkdevparts分区)

修改 bootargs 方式增加分区(mtd分区和blkdevparts分区)