Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1372242
  • 博文数量: 478
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4833
  • 用 户 组: 普通用户
  • 注册时间: 2014-06-28 11:12
文章分类

全部博文(478)

文章存档

2019年(1)

2018年(27)

2017年(21)

2016年(171)

2015年(258)

我的朋友

分类: Android平台

2016-07-21 14:27:46

[FAQ18202][Recovery][Common]Android L ->M版本OTA/T卡升级注意事项
2016-06-27
平台...
软件分支...
FAQs 6 of 74
[Recovery][Common]Android M OTA build (Include Security OTA)

内容

[DESCRIPTION]
 
Android L -> M 升级,除了前后版本partition 数目,大小,顺序需一致的升级基本规则外,
相对于升级到L版本的不同,需额外注意的的地方如下
 
[SOLUTION]
 
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里
/dev/block/platform/mtk-msdc.0/ /system  __MTK_SYSIMG_FSTYPE  ro wait,verify
 修改为(去掉verity参数)
/dev/block/platform/mtk-msdc.0/ /system  __MTK_SYSIMG_FSTYPE  ro wait
 
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 
阅读(2848) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~