Android MSM8953静态开机LOGO修改无效问题

文档说明

本文档以SC820-CN-01(msm8953平台,Android 7)为例,描述如何分析静态开机LOGO修改无效问题。

问题现象

制作开机LOGO

这里屏幕的分辨率为1080*1920,首先制作一张同分辨率的png图片,logo.png。

cd device/qcom/common/display/logo

python logo_gen.py logo.png

fastboot烧录

adb reboot bootloader

fastboot flash splash Y:\sc820\sc820-modem\LA.UM.5.6\LINUX\android\device\qcom\common\display\logo\splash.img

烧录后,开机LOGO仍然没有变化,仍为默认的小企鹅图片。

问题分析

log中有以下报错:

[820] ERROR: Splash image header invalid

logo镜像校验失败,查看splash.img头部信息正常(SPLASH!!):

Android MSM8953静态开机LOGO修改无效问题

但使用QFIL获取机器splash分区内容后,其头部信息为SOH

Android MSM8953静态开机LOGO修改无效问题

由此可判定splash分区信息被修改。

打印错误的地方对应如下路径:

bootable/bootloader/lk/app/aboot/aboot.c

splash_screen_mmc() -> splash_screen_check_header()

解决办法

修改bootable/bootloader/lk/dev/gcdb/display/gcdb_display.c,注释掉 mdss_dsi_dfps_store_pll_codes() 的调用,该函数修改了 splash.img的头信息。

Android MSM8953静态开机LOGO修改无效问题

patch见附件

https://uploader.shimo.im/f/OnTOfp8NHwAMg3Gs.patch?attname=gcdb_display.patch&download

make aboot -j8

重新烧录lk镜像文件和splash.img,验证通过。


分享到:


相關文章: