В общем, вопрос к знающим толк во встраиваемом оборудование, конкретно к знатокам ubi и ubifs, есть 2 stm32 платы, на них установлена разная nand память MT29F2G08ABAEAWP собирается в билдруте и работает, вот даташит: https://ru.mouser.com/datasheet/2/671/micron_technology_mict-s-a0001032698-1-1759218.pdf
при сборке ubifs используются следующие параметры:
(0x20000) physical eraseblock size
(2048) sub-page size
(0x1f000) logical eraseblock size
(0x800) minimum I/O unit size
(2048) maximum logical eraseblock count
образ ubifs работает нормально
на другом контроллере используется nand память MT29F2G08ABAGAWP, вот даташит: https://datasheetspdf.com/pdf-file/1301571/Micron/MT29F2G08ABAGAWP-ITG/1
разница только в OOB size, в первой 64б, во второй 128б
ubifs собирается в билдруте с теме же параметрами, но получаю следующую ошибку:
ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read only 64 bytes, retry
эта ошибка повторяется большое количество раз и в конце выходит вот такая:
ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 22528 bytes from PEB 589:4096, read only 22528 bytes, retry
...
ubi0 error: vtbl_check: bad CRC at record 2: 0xf116c36b, not 0x000000
[ 264.616664] Volume table record 2 dump:
[ 264.621243] reserved_pebs 0
[ 264.624514] alignment 0
[ 264.628059] data_pad 0
[ 264.631616] vol_type 0
[ 264.635160] upd_marker 0
[ 264.638687] name_len 0
[ 264.642236] name NULL
[ 264.646110] ubi0 error: vtbl_check: bad CRC at record 2: 0xf116c36b, not 0x000000
ubi0 error: ubi_read_volume_table: both volume tables are corrupted
...
Please append a correct "root=" boot option; here are the available partitions:
[ 264.776973] 1f00 3072 mtdblock0
[ 264.777435] (driver?)
[ 264.784645] 1f01 512 mtdblock1
[ 264.784744] (driver?)
[ 264.791942] 1f02 512 mtdblock2
[ 264.792042] (driver?)
[ 264.799501] 1f03 8192 mtdblock3
[ 264.799609] (driver?)
[ 264.807086] 1f04 512 mtdblock4
[ 264.807186] (driver?)
[ 264.814629] 1f05 8192 mtdblock5
[ 264.814733] (driver?)
[ 264.822171] 1f06 122880 mtdblock6
[ 264.822274] (driver?)
[ 264.829710] 1f07 118272 mtdblock7
[ 264.829812] (driver?)
в общем, не знаю, куда смотреть, вроде параметры для ubifs должны совпадать, однако на одной памяти нормально грузится, на другой, вообще, судя по всему, непонятно что читает или вообще ничего не читает, судя по этому сообщению: ubi0 error: vtbl_check: bad CRC at record 2: 0xf116c36b, not 0x000000
подскажите, какие параметры в билдруте выставлять, читал вот это: http://www.linux-mtd.infradead.org/doc/ubi.html
вроде параметры правильно рассчитаны