Примонтировать раздел UBI из файла с указанием смещения

есть образ nand почищенный от ECC . стоит задача примонтировать его для редактирования. делаю так:

modprobe nandsim first_id_byte=0x2c second_id_byte=0xd3 third_id_byte=0x90 fourth_id_byte=0xa6 parts=128 cache_file='/tmp/nandsim'
flash_erase /dev/mtd0 0 0
nandwrite /dev/mtd0 'nand.bin'
modprobe ubi
ubiattach -m 0 -O 4096
ls /dev | grep ubi
mount -t ubifs /dev/ubi0_51 /mnt/ubifs

На этом этапе всё хорошо, вижу тома и могу их просмотреть. Но, мне известно, что первые 32M не являются областью UBI. И соответственно, когда я буду править данные, есть большая вероятность, что сектор UBI запишется в эту область. Как указать, что бы первые 32M не использовались под разделы UBI. Я так понимаю, что эта информация на целевой платформе живёт в ядре и не содержится ни в одном слое файловой системы? пробовал так:

modprobe nandsim first_id_byte=0x2c second_id_byte=0xd3 third_id_byte=0x90 fourth_id_byte=0xa6 parts=128 cache_file='/tmp/nandsim'

но, создаётся два раздела mtd0 и mtd1. Если я потом запихиваю во второй раздел файл

nandwrite --input-skip=$((32 * 1024 * 1024)) /dev/mtd1 'nand.bin'

то хоть ubiattach и примонтирует устройство, но dmesg завален сообщениями, что PEB и LEB не совпадают. mount естественно перестаёт работать.


Ответы (0 шт):