一、recovery升级
-
修改kernel,比如在驱动中加打印,然后执行
mkernel -
执行 swupdate_pack_swu (前提是已经将recovery等镜像都编译了出来)
-
cd out/mr813-evb2/swupdate/
adb push tina-mr813-evb2.swu /mnt/UDISK -
进到设备下,执行
swupdate_cmd.sh -i /mnt/UDISK/tina-mr813-evb2.swu -e stable,upgrade_recovery -
等到设备升级完成后会自动重启,并且会将升级日志保存在/mnt/UDISK/swupdate.log
二、AB升级
-
修改分区表sys_partition.fex和env(env-4.9.cfg),可参考《Tina_Linux_OTA_开发指南》3.5.1
-
执行 swupdate_pack_swu -ab (无需提前编译recovery镜像)
-
cd out/mr813-evb2/swupdate/
adb push tina-mr813-evb2.swu /mnt/UDISK -
进到设备下,通过命令fw_printenv查看当前是处于A系统还是B系统,因为当前是处于A系统,所以执行
swupdate_cmd.sh -i /mnt/UDISK/tina-mr813-evb2.swu -e stable,now_A_next_B(如果当前是处于B系统,则执行swupdate_cmd.sh -i /mnt/UDISK/tina-mr813-evb2.swu -e stable,now_B_next_A)
-
等到设备升级完成后会自动重启,并且会将升级日志保存在/mnt/UDISK/swupdate.log
-
AB系统切换方法:
root@TinaLinux:/# fw_setenv boot_partition bootB
root@TinaLinux:/# fw_setenv root_partition rootfsB
root@TinaLinux:/# reboot
三、AB差分升级
-
修改分区表sys_partition.fex和env(env-4.9.cfg),可参考《Tina_Linux_OTA_开发指南》3.5.1
-
执行 swupdate_pack_swu -ab (无需提前编译recovery镜像)
-
cp out/mr813-evb2/swupdate/tina-mr813-evb2-ab.swu ./tina-mr813-evb2-ab_V1.swu
-
修改kernel下或者其他参数,重新make && pack ,并且执行swupdate_pack_swu -ab
然后 cp out/mr813-evb2/swupdate/tina-mr813-evb2-ab.swu ./tina-mr813-evb2-ab_V2.swu -
swupdate_make_delta ./tina-mr813-evb2-ab_V1.swu ./tina-mr813-evb2-ab_V2.swu
-
swupdate_pack_swu -ab-rdiff
-
cd out/mr813-evb2/swupdate/
adb push tina-mr813-evb2-ab-rdiff.swu /mnt/UDISK -
进到设备下,通过命令fw_printenv查看当前是处于A系统还是B系统,因为当前是处于A系统,所以执行
swupdate_cmd.sh -i /mnt/UDISK/tina-mr813-evb2-ab-rdiff.swu -e stable,now_A_next_B(如果当前是处于B系统,则执行swupdate_cmd.sh -i /mnt/UDISK/tina-mr813-evb2-ab-rdiff.swu -e stable,now_B_next_A)
-
等到设备升级完成后会自动重启,并且会将升级日志保存在/mnt/UDISK/swupdate.log
-
AB系统切换方法:
root@TinaLinux:/# fw_setenv boot_partition bootB
root@TinaLinux:/# fw_setenv root_partition rootfsB
root@TinaLinux:/# reboot