当前位置: 首页 > news >正文

rk3568 修改开机logo

rk3568 修改开机显示logo

Android 显示 logo 的作用是为了标识应用程序或设备的品牌和身份。在应用程序中,logo 可以帮助用户快速识别应用程序,并与其他应用程序区分开来。在设备中,logo 可以帮助用户识别设备的品牌和型号,以及与其他设备区分开来。此外,logo 还可以作为品牌宣传和营销的一种方式,帮助品牌建立品牌形象和认知度。


提示: Android10之后增加logo分区,顾名思义存放logo相关图片,解除内核分区对logo资源大小限制。

文章目录

  • rk3568 修改开机显示logo
  • 1. 开机logo构成
  • 1.1 logo 格式说明
    • 1.2 生成logo
      • 1.2.1 Windows 借助PS(Photoshop) 转换图片
      • 1.2.2 Ubuntu 命令转换图片
  • 2. 开机logo预置
    • 2.1 logo验证
    • 2.2 logo打包
  • Tips
  • 总结


1. 开机logo构成

rk3568开机logo由 uboot和kernel两阶段所用图片构成。uboot启动阶段主动加载 logo.bmp,kernel启动阶段会加载logo.bmp和logo_kernel.bmp。在内核编译时这两张图片会打包到 resource.img镜像,然后再合并到boot.img;logo文件直接关系boot.img大小,boot.img分区超出分区表标定大小会导致无法刷机或升级失败。

ls *.bmp -l
-rw-rw-r-- 1 user user 12936 May  8 12:41 logo.bmp
-rw-rw-r-- 1 user user 22364 May  8 12:41 logo_kernel.bmp

以rk3568 Android11 为例;分区表中分配32MB给 boot.img,替换开机logo后boot.img 文件小于32M。

1.1 logo 格式说明

Rockchip芯片开机logo目前只支持 bmp格式,并且位深度支持8、32bit。其它格式图片请等待官方声明。

名称文件类型位深度使用阶段示例
logo.bmpbmp8bituboot在这里插入图片描述
logo_kernel.bmpbmp32bituboot,kernel在这里插入图片描述

1.2 生成logo

Windows和Linux均可转换图片。至于转换效率和上手难易程度,因人而异。用擅长的工具做正确的事,没有优略之分。

1.2.1 Windows 借助PS(Photoshop) 转换图片

  1. 加载图片
    PS --> 打开需要转换图片
  2. 转为xxx.bmp(32bit)
    图像–>模式–>RGB颜色;另存为–>bmp–>32bit;选择合适的存储位置。
  3. 转为xxx.bmp(8bit)
    图像–>模式–>索引颜色;另存为–>bmp–>8bit;选择合适的存储位置。

1.2.2 Ubuntu 命令转换图片

尝试过此方法并没转换到需要的格式。

  1. 安装 convert
sudo apt-get install imagemagick
  1. 转换图片格式
convert logo.png -depth 8 logo.bmp

2. 开机logo预置

Rockchip系列芯片开机 Logo 存放在 kernel目录的 logo.bmp、logo_kernel.bmp,内核编译后同 内核设备树打包到 resource.img。Android源码编译完整升级包时会额外将u-boot阶段充电相关显示画面一并打包到 resource.img,以显示logo方式显示充电画面、低电量等画面。Android10 以后支持中加载logo分区,logo.img镜像中包含开机logo、关机充电画面等图片,系统启动过程优先加载此分区中的资源。

2.1 logo验证

  1. 临时验证
    替换kernel目录下 logo.bmp、logo_kernel.bmp
    编译内核,刷机验证logo效果
  2. 永久生效
    在内核中提交关于logo修改后的补丁
  3. 有logo分区,临时验证
    编译选择增加开机logo,否则原系统无此分区。
    以rk3568_r工程为例,在 device/rockchip/rk356x/rk3568_r/rk3568_r.mk选择增加开机logo。
BOARD_WITH_SPECIAL_PARTITIONS := baseparameter:1M,logo:16M
adb
合成
写入
logo.bmp logo_kernel.bmp
rk3568
logo.img
logo分区
  • 导入到设备
adb push xxx.bmp /sdcard/
adb push logo.bmp /sdcard/
adb push kernel_logo.bmp /sdcard
  • 制作 logo.img镜像
    两种logo图片中间需要512对齐,truncate -s %512 logo.img就是做512对齐
adb shell
cd /sdcard
cat logo.bmp > logo.img && truncate -s %512 logo.img && cat logo_kernel.bmp >> logo.img
  • 写入 logo 分区
# 需要root权限才能写入
su
# dd 命令写入 logo.img
dd if=logo.img of=/dev/block/by-name/logo

2.2 logo打包

  1. 常规方式
    编译内核下的logo图片,同系统打包到升级包。
  2. 带logo分区
    将制作 logo.img 预置到源码 device/rockchip/xxx/xxx[projectName],编译时自动拷贝到镜像目录。以rk3568_r工程为例,在 device/rockchip/rk356x/rk3568_r/rk3568_r.mk选择增加拷贝规则。
PRODUCT_COPY_FILES += \$(LOCAL_PATH)/logo.img:rockdev/Image-$TARGET_PRODUCT/logo.img

Tips

  • 开机logo所用图片分辨不大于系统分辨率,否则会出现显示不全屏或内容不全。
  • 开机logo显示效果与图片质量直接关联,图片质量越好显示越清晰,当然资源包会越大。
  • 开机过程只亮背光无开机logo,很可能logo所用图片格式与系统要求不符。

总结

事无巨细,细节决定成败。

http://www.lryc.cn/news/66070.html

相关文章:

  • golang实现关键路径算法
  • Overcoming catastrophic forgetting in neural networks
  • [Linux] Linux文件系统
  • 有仰拍相机和俯拍相机时,俯拍相机中心和吸嘴中心的标定
  • 【Vue学习笔记5】Vue3中的响应式:ref和reactive、watchEffect和watch
  • 自动化测试工具的基本原理以及应用场景
  • 《Java虚拟机学习》 java代码的运行过程
  • 关于Intel处理器架构中AVX2里Gather特性的说明
  • UNIX常用命令(C站最全,一文通关)
  • Vue监听属性详细讲解
  • 网申形式一览:这三种投递方式,你了解吗?
  • vue项目将多张图片生成一个gif动图
  • 开心档之Go 语言常量
  • 动态库和静态库的使用
  • 前端:20 个常见的前端算法题
  • 【Linux】多线程 --- 线程概念 控制 封装
  • 最长递增子序列的长度 _ 贪心+二分查找 _ 20230510
  • VMware ESXi 7.0 U3m Unlocker OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版)
  • Scrum敏捷开发和项目管理流程及工具
  • 微服务之配置中心
  • windows下安装OpenCL
  • 前端项目的通用优化策略
  • 关于 IO、存储、硬盘和文件系统
  • 计算机网络期中复习提纲-酷酷的聪整理版
  • clickhouse的嵌套数据结构Tuple、Array与Nested类型介绍和使用示例
  • 人脸修复增强调研
  • 【Java】继承和多态
  • ThingsBoard集群部署之k8s
  • 【Gorm】如何在 GORM 中实现模型之间的关联?
  • Linux危险命令