Здравствуйте. Работаю с китовой платой от Freescale MPC8308rdb. Был взят BSP для этой платы
https://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/FreescaleMpc8308Rdb. Собран образ системы
ifs-mpc8308rdb.raw.
Возникла проблема с утилитой etfsctl при попытке записать собранный образ в раздел etfs1 nand флешки.
Драйвер флеши подтягивается следующей командой:
etfs-fsl-sp -r 15360
собственно на выходе 2 раздела
# df -h
/dev/etfs2 17M 17M 0 100%
/dev/etfs1 15M 15M 0 100%
При попытке записать образ в начало флеши:
# etfsctl -d /dev/etfs1 -e -w ifs-mpc8308rdb.raw
error writing transactions to flash: Invalid argument
Error status on option 'w' : Invalid argument
Как я понял утилите etfsctl не нравится формат образа, попробовал
различные способы собрать образ утилитой mkifs, результат такой же.
Собственно пробовал создавать не форматированный раздел etfs с помощью
fs-etfs-ram, результат такой же.
Единственный способ которым мне удалось положить образ во флеш такой:
Записать в начало флеши образ через U-Boot, потом считать его той же самой утилитой
etfsctl -d /dev/etfs1 -R ifs.raw и записать, запись проходит, но данные оказываются
битыми ещё в вычитанном ifs.raw, не смотря на то, что в области памяти с которой я работаю
нету битых блоков, hexdump файла показывает пропуски примерно через страницу (или я чего то не понимаю).
Чтение через параметр -r не срабатывает, файл на выходе имеет нулевой размер.
Исходя из описания утилиты запись в неформатированный раздел возможна, собственно как и чтение:
# use etfsctl
Examples:
Write a boot image build by mkifs into the raw partition
etfsctl -d /dev/etfs1 -e -w image.ifs
http://www.qnx.com/developers/docs/6.5.0/index.jsp?topic=%2Fcom.qnx.doc.momentics_release_notes%2Frel_6.5.0.htmlПрошу помочь разобраться.