Определить, отформатирован ли раздел MTD в формате UBI

Есть ли надежный способ узнать, был ли уже раздел MTD (например, /dev/mtd0) отформатирован UBI? Я намерен провести такой тест в сценарии запуска (bash), который вызывает ubiattach только для разделов MTD, отформатированных в формате UBI. Мне кажется, что blkid не дает никакой информации о разделах mtd. Я также не смог найти соответствующую запись для этого в «/sys/class/mtd/».


person Rogue    schedule 21.11.2017    source источник


Ответы (1)


Вы можете использовать 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 — это уби!

И вы можете скачать форму mtd-utils http://www.linux-mtd.infradead.org/

mtdinfo находится в пакете, и вам нужно его собрать.

person Jimmy    schedule 13.09.2018
comment
Спасибо за Ваш ответ. На самом деле я пробовал mtdinfo, но в моем случае тип всегда nand или nor. Он не говорит ubi, даже когда я форматирую его как ubi, используя ubiformat. - person Rogue; 25.09.2018
comment
@Rogue Вы когда-нибудь находили ответ на этот вопрос? - person cosimo193; 07.11.2019
comment
@cosimo193 Нет. Мне пришлось использовать очень уродливый обходной путь: в моей системе была еще одна постоянная память: eeprom. Я использовал бит в eeprom, чтобы отметить, был ли отформатирован nand/nor. - person Rogue; 17.12.2019