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