Вопрос в следующем:
Создаю uImage.FIT структуру для последующего её сохранения в NAND средствами u-boot.
А проблема в том, что mkimage создает образ, размер которого не кратен блоку NAND.
Естественно при попытке записи в NAND u-boot ругается....
Подскажите как стандартными средствами в бинарник дописать хвост для кратности?
Вижу, что образы ядра и u-boot выровнены как надо......
Не писать же свою утилиту.....
Покажите лог как пишете и как ругается - первый раз слышу что бинарник нужно специально дописывать кратно блоку, собственно для чего тогда специальные команды nand нужны и откуда кто знает какая геометрия у вашей nand на этапе сборки.
Вот, я тоже не понимаю, почему бы это не обработать было средствами u-boot.....
=> run write_firmaware_to_nand
NAND erase.part: device 0 offset 0x200000, size 0x3200000
Erasing at 0x33e0000 -- 100% complete.
OK
NAND write: device 0 offset 0x1405b51, size 0xebfa4af
size adjusted to 0xeb5a4af (5 bad blocks)
Attempt to write non page-aligned data
0 bytes written: ERROR
Дело в том, что ядро, u-boot выравниваются на этапе сборки на хосте.
Мне же надо немного другое.
Я хочу ВЕСЬ FIT положить в нанд для того, чтобы потом можно было восстановить прошивку именно из FIT структуры, идея в том, что при распаковке FIT мне удобно проверять целостность, запустить скрипт, который все раскидает по нанду и т.д.
К тому же содержимое FIT структуры будет лежать в зашиврованном виде
Это удобно со всех сторон
Покажите содержимое скрипта write_firmaware_to_nand и как у вас партиции размечены в убут (mtdparts), у вас там ошибка - вот их как раз и надо выравнивать по границе erase block.