rockchip Android平台动态替换开机logo的实现

Rockchip Android平台动态替换开机logo的实现

Rockchip Android SDK的支持增加logo分区来动态更新开机logo,支持这个功能的uboot需要是next-dev分支的。
本文的实现适用于Rockchip的Android10及以上版本的SDK

1. 代码修改

在Android上层增加logo分区:
在device下面的产品目录的BoardConfig.mk里面增加BOARD_WITH_SPECIAL_PARTITIONS := logo:16M,如下:
这里表示增加一个16M大小的logo分区

@sys2_206:~/4_Android12_29_sdk/device/rockchip/rk3588$ git diff
diff --git a/rk3588_s/BoardConfig.mk b/rk3588_s/BoardConfig.mk
index a1c5c20..890a6c3 100644
--- a/rk3588_s/BoardConfig.mk
+++ b/rk3588_s/BoardConfig.mk
@@ -1,4 +1,5 @@
 #
 # Copyright 2014 The Android Open-Source Project
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -37,3 +38,6 @@ PRODUCT_KERNEL_DTS := rk3588-evb1-lp4-v10
 BOARD_GSENSOR_MXC6655XA_SUPPORT := true
 BOARD_CAMERA_SUPPORT_EXT := true
 BOARD_HS_ETHERNET := true
+BOARD_WITH_SPECIAL_PARTITIONS := logo:16M

按上面步骤修改代码并编译烧写固件到机器后,可以在机器里面看到logo分区,如下:

rk3588_s_evb7:/ $ ls dev/block/by-name/                                                                                                                                                       
backup        cache         logo          misc          mmcblk2boot0  recovery      super         uboot         vbmeta
boot          dtbo          metadata      mmcblk2       mmcblk2boot1  security      trust         userdata

2. 替换logo

2.1 把logo图片push到机器的sdcard/目录下,注意logo图片需要是bmp格式的

xxx@xxx:~/home1/download/Linux_Upgrade_Tool_v2.4/Linux_Upgrade_Tool_v2.4$ adb push ../../logo.bmp sdcard/
../../logo.bmp: 1 file pushed, 0 skipped. 715.0 MB/s (6220854 bytes in 0.008s)
xxx@xxx:~/home1/download/Linux_Upgrade_Tool_v2.4/Linux_Upgrade_Tool_v2.4$ adb push ../../logo_kernel.bmp sdcard/
../../logo_kernel.bmp: 1 file pushed, 0 skipped. 1246.8 MB/s (6220854 bytes in 0.005s)

2.2. 制作logo.img

rk3588_s_evb7:/sdcard # cat logo.bmp > logo.img && truncate -s %512 logo.img && cat logo_kernel.bmp >> logo.img

这些需要注意,两种logo图片中间需要512对齐,truncate -s %512 logo.img就是做512对齐

2.3. 通过dd命令将logo.img文件写到logo分区中

130|rk3588_s_evb7:/sdcard # dd if=logo.img of=/dev/block/by-name/logo                                                                                                                       

2.4. 重启机器即可看到效果


版权声明:本文为weixin_43245753原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。