0

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

4

1 回答 1

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 在包中,您需要构建它。

于 2018-09-13T06:04:15.787 回答