MTK 9.0打开AB升级宏控

找到了一份MTKonline的文档

具体的打开方法只是打开了MTK控制的宏开关,我们只需要按照对应的目录和文件添加进去,MTK_AB_OTA_UPDATE只是在原声的AB_OTA_UPDATE又嵌套了一层控制,不过在编译的时候遇到了两个问题

编译错误一:

这个问题的来源是因为disable build cache partition没有加到对应的boardconfig.mk文件中,AB升级是没有cache分区的,device/mediateksample/k39tv1_64_bsp,加到对应宏后得到解决

编译问题二:

出现这个问题后,一开始一直没有什么头绪,以为是有些平台的kernel-4.4不支持ab升级

还是老老实实按错误进行排查

check-kernel-dotconfig 执行这一步报错了

这个是在kernel-4.4/android.mk中的

PRIVATE_COMMAND := $(if $(wildcard device/mediatek/build/build/tools/check_kernel_config.py),$(if $(filter yes,$(DISABLE_MTK_CONFIG_CHECK)),-)python device/mediatek/build/build/tools/check_kernel_config.py -c $(MTK_TARGET_PROJECT_FOLDER)/ProjectConfig.mk -k $(TARGET_KERNEL_CONFIG) -p $(MTK_PROJECT_NAME))

 

对照报错的话确实时这一段

/bin/bash -c "python device/mediatek/build/build/tools/check_kernel_config.py -c device/mediateksample/k39tv1_64_bsp/ProjectConfig.mk -k /home/adups/code/s219_ab/out/target/product/k39tv1_64_bsp/obj/KERNEL_OBJ/.config -p k39tv1_64_bsp"

Kconfig Setting: is not set

ProjectConfig Setting: yes

 

这段的意思其实时比对的ProjectConfig.mk 和 .config文件,也就是TARGET_KERNEL_CONFIG

kenv.mk 中定义了TARGET_KERNEL_CONFIG的路径和名称

TARGET_KERNEL_CONFIG := $(KERNEL_OUT)/.config

androd.mk 中定义了TARGET_KERNEL_CONFIG的生成

现在我们进入out/target/product/k39tv1_64_bsp/obj/KERNEL_OBJ/.config看下具提内容

里面是kernel中所有的CONFIG 信息

# CONFIG_MTK_AB_OTA_UPDATER is not set相当于没有添加进去,到这一步其实已经有些猜想了,虽然我们在kernel中确实加了宏,但是没有编译到配置表中

这里我前期先做了两个测试:

测试一:

强行改掉了.config中的信息

改为CONFIG_MTK_AB_OTA_UPDATER = y

发现可以编译通过,而且编译完做测试发现,可以升级成功,那基本可以确认问题了,kernel 宏控制的位置我们还需要继续查询添加

测试二:

drivers/misc/mediatek/cmo/Kconfig中包含一句

config MTK_AB_OTA_UPDATER

bool "Support Android A/B system updates"

default n

这里我改成default y后,发现编译也是正常的,不过这里应该是主控开关,我们打开这里,相当于所有项目都时AB了

 

最后我只需要确认

arch/arm64/configs/k39tv1_64_bsp_debug_defconfig和arch/arm64/configs/k39tv1_64_bsp_defconfig

宏控添加的位置就可以了,

其实最初这两个我已经加过CONFIG_MTK_AB_OTA_UPDATER = y,随后我找了一份测试过AB的代码对比的时候把位置换了下就可以了,

这个问题我暂时没有查到原因,宏控位置的改变,可能有什么编译的地方需要详细确认,不过对于ab调试部分,属于小问题,我们可以先在代码上对于我们想要处理的问题进行验证

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值