Была другая задача. Сделать update системы из запасного раздела NAND. Как упоминал выше, с помощью Uboot. Вот такой скрипт:
echo 'echo >>>>>>>> Update u-boot script' >> ${install_path}update/autoexec.script #dtb echo 'ubifsload 0x22000000 update/zImage-SparkGate.dtb' >> ${install_path}update/autoexec.script echo 'nand erase 0x00180000 0x00080000' >> ${install_path}update/autoexec.script echo 'nand write 0x22000000 0x00180000 ${filesize}' >> ${install_path}update/autoexec.script #kernel echo 'ubifsload 0x22000000 update/zImage' >> ${install_path}update/autoexec.script echo 'nand erase 0x00200000 0x00600000' >> ${install_path}update/autoexec.script echo 'nand write 0x22000000 0x00200000 ${filesize}' >> ${install_path}update/autoexec.script # rootfs echo 'ubifsload 0x22000000 update/core-image-minimal-TRATRATRA.ubifs' >> ${install_path}update/autoexec.script echo 'ubi part rootfs' >> ${install_path}update/autoexec.script echo 'ubifsmount ubi0' >> ${install_path}update/autoexec.script echo 'ubi write 0x22000000 rootfs ${filesize}' >> ${install_path}update/autoexec.script echo 'echo >>>>>>>> script done' >> ${install_path}update/autoexec.script mkimage -A ppc -O linux -T script -C none -a 0 -e 0 -n "autoscr example script" -d ${install_path}update/autoexec.script ${install_path}update/autoexec.scr shutdown -r nowМожно изменить запасной раздел NAND на SD и поправить чего там надо. Надо тоже посмотреть, разрешен ли запуск скриптов в Uboot. Пример переменных Uboot.
"mtdparts=mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot),256k(env),256k(env_redundant),256k(spare),512k(dtb),6M(kernel),128M(rootfs),110M(backup)" \ "preboot=ubi part backup; ubifsmount ubi0; mw 0x21000000 0 16; ubifsload 0x21000000 update/autoexec.scr; source 0x21000000" \