您的位置:首页 > 移动开发 > Android开发

[FAQ17441][Recovery][Common]Android M 版本如何升级lk 、preloader ?

2017-11-08 16:56 996 查看
[DESCRIPTION]

 

 Android M 版本升级lk 、 preloader 方法。 

 

[SOLUTION]

 

M版本有些平台是默认升级lk和preloader,这些平台有6755,6750,6797等。

有些平台需要修改一些代码来实现。这些平台有6735,6580,6737等。

note:

修改代码等情况,可能导致平台的划分不一定准确,请一定仔细阅读下面所有的内容。

 

判断是否默认升级:

查看MTXXXX_Android_scatter.txt文件。搜索关键字:

is_upgradable

 

一.存在is_upgradable关键字

比如:

- partition_index: SYS19

partition_name: lk

file_name: lk.bin

is_download: true

type: NORMAL_ROM

linear_start_addr: 0xa900000

physical_start_addr: 0xa900000

partition_size: 0x100000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: UPDATE
is_upgradable: true

empty_boot_needed: true

reserve: 0x00

 

is_upgradable的值决定是否升级对应分区,true表示升级,false表示不升级。这种情况下lk和preloader是默认升级的,不需要修改文件。但是如果修改了分区表等情况,可能会改变默认的设置,所以这一步一定要确定:preloader,lk和lk2三个分区的is_upgradable都是true,如果为false,请参考FAQ18188修改分区表OTA_Update字段。

 

二.不存在is_upgradable关键字

修改方法:

 1、Full OTA update:

      修改build/core/makefile

      修改前:

             $(hide) ./device/mediatek/build/releasetools/mt_ota_preprocess.py $(zip_root) $(PRODUCT_OUT) $(PRODUCT_OUT)/ota_update_list.txt 

 

       修改后: 

             $(hide) MTK_LOADER_UPDATE=yes MTK_PRELOADER_OTA_BACKUP=no ./device/mediatek/build/releasetools/mt_ota_preprocess.py
$(zip_root) $(PRODUCT_OUT) $(PRODUCT_OUT)/ota_update_list.txt

 

 2、Incremental OTA update:

      编译差分升级包的命令加上如下蓝色部分:

      ./build/tools/releasetools/ota_from_target_files  -s ./device/mediatek/build/releasetools/mt_ota_from_target_files  --block
-k <key_path> -i V2_org.zip V4_new.zip   V2_4.zip
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: