检测MTD分区是否为UBI格式

时间:2017-11-21 12:26:45

标签: linux bash filesystems flash-memory ubifs

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

中找到相关条目

1 个答案:

答案 0 :(得分:0)

您可以使用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!

您可以下载mtd-utils表格http://www.linux-mtd.infradead.org/

mtdinfo位于软件包中,您需要对其进行构建。