通过OTA升级更换开机logo图片
展锐部分平台的logo是放在pac包的时候才去更新的。所以只有线刷pac包,才能更新logo,如果我们需要在OTA升级包含开机logo则需要单独修改,以sl8541平台为例子:
/device/sprd/sharkle/common/modem.cfg
#### GNSS ####
M,/gnssmodem,gnssmodem.bin,,,,,
M,/gnssbdmodem,gnssbdmodem.bin,,,,,
+#### logo ####
+M,/logo,your_logo.bmp,,,true,,
+M,/fbootlogo,your_logo.bmp,,,true,,
/device/sprd/sharkle/sl8541e_1h10_32b/AndroidBoard.mk
include $(PLATCOMM)/ModemBuild.mk
-
+INSTALLED_RADIOIMAGE_TARGET += $(PRODUCT_OUT)/your_logo.bmp
# Compile U-Boot
ifneq ($(strip $(TARGET_NO_BOOTLOADER)),true)
INSTALLED_UBOOT_TARGET := $(PRODUCT_OUT)/u-boot.bin
在编译OTA包之前,请将需要的开机图片,放在out/target/product/sl8541e_1h10_32b/下,开机图片命名请与上面diff中保持一致,如上是your_logo.bmp,可结合项目需要可自定义命名。当然也可在mk文件copy过去:
device\sprd\sharkle\sl8541e_1h10_32b\sl8541e_1h10_32b_Natv.mk
+PRODUCT_COPY_FILES += \
$(BOARDDIR)/your_logo.bmp:$(PRODUCT_OUT)/your_logo.bmp
验证
1) 看编译出来的OTA升级包是否有开机图片
2)查看OTA升级包的updater-script内容,是否有如下内容
ui_print("write your_logo.bmp to partition /logo ....");
package_extract_file("your_logo.bmp", "/dev/block/platform/soc/soc:ap-ahb/20600000.sdio/by-name/logo");
ui_print("write your_logo.bmp to partition /fbootlogo ....");
package_extract_file("your_logo.bmp", "/dev/block/platform/soc/soc:ap-ahb/20600000.sdio/by-name/fbootlogo");
3)进行OTA升级,查看升级log(/cache/recovery/last_log),看是否升级成功
4)开机看开机logo图片是否已更换,如没更换,查看开机uboot开机log,一般是图片格式有问题,导致加载失败,如下:
开机图片需要是bmp格式,可以使用画图工具把png,jpg图片另存为bmp格式保存。
每日语录:疫情终于结束了!!!加油搞钱吧!!!加油!!!
单曲循环《如愿》