UBIFS: «Ошибка проверки таблицы томов: ошибка 11»

После некоторых манипуляций с томами UBI, которые успешно работали в работающей системе, я перезагрузил свое устройство только для того, чтобы получить эту ошибку:

      UBI error: vtbl_check: volume table check failed: record 13, error 11
UBI error: ubi_init: cannot attach mtd2

Согласно источнику , это из-за нулевого символа в позиции 0 имени тома.

В списке, который у меня был с момента, когда система была запущена непосредственно перед перезагрузкой, на самом деле был показан раздел размером 0 с пустым именем:

      mtd14: 00000000 0001f800 ""

Чего не было в старых журналах /proc/mtd У меня есть.

Из-за этой незначительной ошибки вся таблица разделов UBI не читается, ядро, которое находится в ней, не найдено, а само устройство полностью неработоспособно.

Моя идея для решения этой проблемы заключалась в том, чтобы переписать проблемный нулевой байт буквенно-цифровым символом с помощью какого механизма прямого доступа к флеш-памяти -либоU-Boot . Но так как я не знаю, где именно две копии volume layout находятся в памяти или в их структуре, и особенно потому, что стандартные механизмы UBI U-Boot перестали работать (т. е. ubi info layout приведет к сбросу устройства, ubi read ADDRESS VOLUME или ubi part ifx_nand вернул бы тихие ответы) Я не могу легко сбрасывать и возиться с UBI.

Вот mtdparts:

       # mtdparts

device nand0 <ifx_nand>, # parts = 2
 #: name                size            offset          mask_flags
 0: U-Boot              0x80000 0x0     0
 1: ubi                 0x7f80000       0x80000 0

active partition: nand0,0 - (U-Boot) 0x80000 @ 0x0

defaults:
mtdids  : nand0=ifx_nand
mtdparts: ifx_nand:0x80000@0x0(U-Boot),-@0x80000(ubi)

Версия U-Boot: 2010.06

0 ответов

Другие вопросы по тегам