Android14 OTA添加logo分区升级

下述改动在 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
-
要解决MTK将logo.bin修改为logo.img分区OTA升级后uboot logo显示更换成功但kernel logo未替换成功的问题,可以从以下几个方面进行排查和解决: ### 检查logo.img文件本身 确保logo.img文件的格式、分辨率等参数符合内核的要求。不同的内核版本对logo图片的格式和分辨率可能有特定的要求,如果logo.img文件不符合这些要求,内核可能无法正确识别和显示。 ```python # 示例检查命令,可根据实际情况修改 # 检查图片格式 file logo.img # 检查图片分辨率 identify logo.img ``` ### 确认内核加载logo.img的配置 查看内核的配置文件,确认内核是否正确配置为从logo.img分区加载logo。在MTK平台,内核的配置文件通常位于内核源码目录下的`.config`文件中,检查其中与logo加载相关的配置项是否正确。 ```bash # 查看内核配置文件 cat .config | grep CONFIG_LOGO ``` 确保相关的配置项(如`CONFIG_LOGO=y`等)正确设置,并且指定了从logo.img分区加载logo的相关参数。 ### 检查分区挂载和读取权限 确保内核在启动过程中能够正确挂载和读取logo.img分区。可以在内核启动时添加调试信息,查看分区挂载和读取的日志,确认是否存在权限问题或其他错误。 ```bash # 在内核启动参数中添加调试信息 # 例如在bootargs中添加 "debug=1" 等参数 ``` ### 检查OTA升级脚本 检查OTA升级脚本中关于logo.img分区的更新部分,确保脚本正确地将新的logo.img文件写入到指定的分区OTA升级脚本通常位于OTA包中的`META-INF/com/google/android/updater-script`文件中。 ```bash # 查看OTA升级脚本 cat META-INF/com/google/android/updater-script | grep logo.img ``` 确保脚本中关于logo.img分区的更新操作正确无误。 ### 重新编译内核 如果以上步骤都没有解决问题,可以尝试重新编译内核,并确保在编译过程中正确配置了logo加载相关的选项。 ```bash # 清理内核源码 make clean # 配置内核 make menuconfig # 编译内核 make -j$(nproc) ```
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值