Есть ли надежный способ узнать, был ли уже раздел MTD (например, /dev/mtd0) отформатирован UBI? Я намерен провести такой тест в сценарии запуска (bash), который вызывает ubiattach только для разделов MTD, отформатированных в формате UBI. Мне кажется, что blkid не дает никакой информации о разделах mtd. Я также не смог найти соответствующую запись для этого в «/sys/class/mtd/».
Определить, отформатирован ли раздел MTD в формате UBI
Ответы (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
Спасибо за Ваш ответ. На самом деле я пробовал mtdinfo, но в моем случае тип всегда nand или nor. Он не говорит ubi, даже когда я форматирую его как ubi, используя ubiformat.
- person Rogue; 25.09.2018
@Rogue Вы когда-нибудь находили ответ на этот вопрос?
- person cosimo193; 07.11.2019
@cosimo193 Нет. Мне пришлось использовать очень уродливый обходной путь: в моей системе была еще одна постоянная память: eeprom. Я использовал бит в eeprom, чтобы отметить, был ли отформатирован nand/nor.
- person Rogue; 17.12.2019