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