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

[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

猜你喜欢

转载自blog.csdn.net/lwz622/article/details/121967813