[DESCRIPTION]
Android L -> M 升级,除了前后版本partition 数目,大小,顺序需一致的升级基本规则外,
相对于升级到L版本的不同,需额外注意的的地方如下
1.升级包制作命令 添加 –s device/mediate/build/releasetools/mt_ota_from_target_files
-
Full : ./build/tools/releasetools/ota_from_target_files –v --block -k $(key_path) –s device/mediatek/build/releasetools/mt_ota_from_target_files src.zip update.zip
-
Incremental : ./build/tools/releasetools/ota_from_target_files –v --block -k $(key_path) –s device/mediatek/build/releasetools/mt_ota_from_target_files –i src.zip tgt.zip update.zip
2.建议使用block-base升级(加--block参数),如使用file-base升级(不加--block参数)
请关闭M 版本dm-verity ,否则升级后无法正常开机
关闭dm-verity方法,将fastab里
修改为(去掉verity参数)
3.如何升级preloader 与LK 与其它raw 分区
preloader , lk :
请参考 FAQ17441 [Recovery][Common]Android M 版本如何升级lk 、preloader ?
其他raw分区,如logo.. :
请参考 FAQ18188 [Recovery][Common]Android M 版本如何升级logo等rawdata分区方法?
4. L版本 请配置MTK_SHARED_SDCARD=yes ,MTK_2SDCARD_SWAP=no,否则升级至M版本用户数据丢失
因为MTK_2SDCARD_SWAP在M版本已经phase out 不支持,
若已出货L版本已开启MTK_2SDCARD_SWAP=yes需升级至M版本,请在M版本下载patch id: ALPS02551082
5.差分包编译失败
如差分包制作diff过程如下时异常退出而无法生成,
File "/home/scm03/5023F_MEA_AL_V1.4_20160511/build/tools/releasetools/blockimgdiff.py", line 574, in diff_worker
patch = compute_patch(src, tgt, imgdiff=(xf.style == "imgdiff"))
File "/home/scm03/5023F_MEA_AL_V1.4_20160511/build/tools/releasetools/blockimgdiff.py", line 60, in compute_patch
raise ValueError("diff failed: " + str(p))
ValueError: diff failed: 1
或
File "/home/scm03/5023F_MEA_AL_V1.4_20160511/build/tools/releasetools/blockimgdiff.py", line 273, in Compute
self.ComputePatches(prefix)
File "/home/scm03/5023F_MEA_AL_V1.4_20160511/build/tools/releasetools/blockimgdiff.py", line 594, in ComputePatches
for patch, xf in patches:
TypeError: 'NoneType' object is not iterable
请抓patch id: ALPS02608209后验证,
或直接修改\bootable\recovery\applypatch\imgdiff.c
char ptemp[] = "/tmp/imgdiff-patch-XXXXXX";
- mkstemp(ptemp);
+ int fd = mkstemp(ptemp);
+
+ if (fd == -1) {
+ printf("MakePatch failed to create a temporary file: %s\n",
+ strerror(errno));
+ return NULL;
+ }
+ close(fd); // temporary file is created and we don't need its file
+ // descriptor
若仍无法制作请提交e-service
6./data加密后升级包如何由内卡或放置/data分区下升级
请参考 FAQ17442 [Recovery][Common]Android M 版本data加密后升级包放入/data分区如何升级?
如uncrypt出现权限失败问题请抓patch id: ALPS02625151
7.升级后modem能否正常工作?
请参考 FAQ17640 [NVRAM]检查两个不同modem版本的modem nvram是否可以采用OTA升级
8.其他:
可参考DMS文档 OTA and Android SD upgrade application note.docx