ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
26 апреля
864963 Топик полностью
framer (24.08.2018 10:55, просмотров: 101) ответил Ale3000 на Неужели никто никогда не записывал модифицрованный образ Linux в NAND? Ведь без этого невозможно сделать ни одно устройство на Линуксе.
Была другая задача. Сделать 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" \