下述改动在 vendor 侧完成。
该需求只在项目初期 进行添加, 会改变分区,无法支持跨大版本。
1.修改分区表
AB升级:将AB升级分区表partition_table_emmc_ab.csv内的logo分区一栏删除,然后分别添加上logo_a与logo_b分区,同时将logo_a与logo_b分区的OTA_Update状态由N改为Y;
non-AB升级:将non-AB升级分区表partition_table_emmc.csv内的logo分区一栏的OTA_Update状态由N改为Y;
将partition_table_emmc_ab.csv与partition_table_emmc.csv内的logo.bin修改为logo.img,因为OTA打包时只会打包分区img文件。
-
/vendor_ap_s0/vendor/mediatek/proprietary/tools/ptgen/MT6765/partition_table_emmc.csv
-
/vendor_ap_s0/vendor/mediatek/proprietary/tools/ptgen/MT6765/partition_table_emmc_ab.csv
2.修改编译文件
- /vendor_ap_s0/vendor/mediatek/proprietary/bootable/bootloader/lk/Android.mk
INSTALLED_LK_TARGET := $(PRODUCT_OUT)/lk.img
- INSTALLED_LOGO_TARGET := $(PRODUCT_OUT)/logo.bin
+ INSTALLED_LOGO_TARGET := $(PRODUCT_OUT)/logo.img
- /vendor_ap_s0/vendor/mediatek/proprietary/bootable/bootloader/lk/build_lk.mk
INSTALLED_LK$(LK_MODE)_TARGET := $(PRODUCT_OUT)/lk$(call to-lower,$(LK_MODE)).img
-INSTALLED_LOGO$(LK_MODE)_TARGET := $(PRODUCT_OUT)/logo$(call to-lower,$(LK_MODE)).bin
+INSTALLED_LOGO$(LK_MODE)_TARGET := $(PRODUCT_OUT)/logo$(call to-lower,$(LK_MODE)).img
TARGET_LK$(LK_MODE)_OUT := $(TARGET_OUT_INTERMEDIATES)/LK$(LK_MODE)_OBJ
TARGET_LK$(LK_MODE)_ROOT_OUT := $(if $(filter /% ~%,$(TARGET_LK$(LK_MODE)_OUT)),,$(LK_ROOT_DIR)/)$(TARGET_LK$(LK_MODE)_OUT)
BUILT_LK$(LK_MODE)_TARGET := $(TARGET_LK$(LK_MODE)_OUT)/build-$(LK_PROJECT)/lk.img
@@ -43,7 +43,7 @@ $(INSTALLED_LK$(LK_MODE)_TARGET): $(BUILT_LK$(LK_MODE)_TARGET) $(MTK_LK_DTB_TARG
$(INSTALLED_LOGO$(LK_MODE)_TARGET): $(BUILT_LK$(LK_MODE)_TARGET)
$(hide) mkdir -p $(dir $@)
- $(hide) cp -f $(dir $<)logo.bin $@
+ $(hide) cp -f $(dir $<)logo.img $@
.PHONY: lk clean-lk clean-lk$(LK_MODE)
- /vendor_ap_s0/vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/rules.mk
BOOT_LOGO_RESOURCE := $(BUILDDIR)/$(BOOT_LOGO_DIR)/boot_logo.raw
-LOGO_IMAGE := $(BUILDDIR)/logo.bin
+LOGO_IMAGE := $(BUILDDIR)/logo.img
- /vendor_ap_s0/vendor/mediatek/proprietary/custom/mt6765/security/cert_config/img_list.txt
[single_bin]
-logo.bin=logo
+logo.img=logo
boot.img=boot
recovery.img=recovery
spmfw.img=spmfw
3.添加权限
如果遇到ota升级失败报下面的错误
E update_engine: [ERROR:utils.cc(530)] Opening block device /dev/block/by-name/logo_b: Permission denied (13)
E update_engine: [ERROR:partition_writer.cc(104)] Unable to open file /dev/block/by-name/logo_b: Permission denied (13)
E update_engine: [ERROR:partition_writer.cc(300)] Unable to open target partition logo on slot B, file /dev/block/by-name/logo_b
按如下添加
- /vendor_ap_s0/device/mediatek/mt6765/ueventd.mt6765.emmc.rc