当前位置: 首页 > 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所用图片格式与系统要求不符。

总结

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

相关文章:

rk3568 修改开机logo

rk3568 修改开机显示logo Android 显示 logo 的作用是为了标识应用程序或设备的品牌和身份。在应用程序中,logo 可以帮助用户快速识别应用程序,并与其他应用程序区分开来。在设备中,logo 可以帮助用户识别设备的品牌和型号,以及与…...

golang实现关键路径算法

关键路径算法(Critical Path Method,简称CPM)是一种用于项目管理的技术,主要用于计算项目中的关键路径和关键活动。关键路径是指项目中的最长路径,决定了项目的最短完成时间。关键活动是指在关键路径上的活动&#xff…...

Overcoming catastrophic forgetting in neural networks

目录 预备知识: 论文笔记 1. Introduction 2. Elastic weight consolidation 2.1 EWC allows continual learning in a supervised learning context 2.2 EWC allows continual learning in a reinforcement learning context 3. Conclusion 文章链接&#x…...

[Linux] Linux文件系统

🥁作者: 华丞臧. 📕​​​​专栏:【LINUX】 各位读者老爷如果觉得博主写的不错,请诸位多多支持(点赞收藏关注)。如果有错误的地方,欢迎在评论区指出。 文章目录 一、Linux文件系统1.1 磁盘1.2 inode1.3 软硬…...

有仰拍相机和俯拍相机时,俯拍相机中心和吸嘴中心的标定

俯拍相机中心和吸嘴中心的标定 文章目录 俯拍相机中心和吸嘴中心的标定 前言适用模型如下:一、使用一个标定片进行标定1.关键注意:2.标定步骤: 二、使用一个L型的工件1.关键注意:2.标定步骤: 总结 前言 在自动化设备领…...

【Vue学习笔记5】Vue3中的响应式:ref和reactive、watchEffect和watch

所谓响应式就是界面和数据同步,能实现实时更新。 Vue 中用过三种响应式解决方案,分别是 defineProperty、Proxy 和 value setter。Vue 2 使用的方案是 defineProperty API。Vue3中使用的方案是Proxy和value setter。 1. ref和reactive vue3中实现响应…...

自动化测试工具的基本原理以及应用场景

自动化测试工具是现代软件开发流程中必不可少的组成部分,它可以通过编写脚本或使用图形用户界面工具自动化测试过程,提高测试的效率和准确性。本文将介绍自动化测试工具的基本原理以及应用场景。 自动化测试工具的基本原理 自动化测试工具通常采用的原理…...

《Java虚拟机学习》 java代码的运行过程

1. Java文件转换 当我们保存java文件后,首先由编译器编译成class文件,然后通过Java虚拟机将class文件转换成字节码文件 2.Java虚拟机是怎么运行Java文件 首先将java文件加载到java虚拟机中,然后由虚拟机将类元信息存储在 虚拟机的方法区中。…...

关于Intel处理器架构中AVX2里Gather特性的说明

在 Intel Haswell 架构里引入了 Gather 特性。它使得CPU可以使用向量索引存储器编址从存储器取非连续的数据元素。这些gather指令引入了一种新的存储器寻址形式,该形式由一个 基地址寄存器(仍然是通用目的寄存器)和通过一个 向量寄存器&#…...

UNIX常用命令(C站最全,一文通关)

unix常见命令列举如下,除了看还要会用: ls - 列出目录下的文件 cd - 切换目录 pwd - 显示当前目录 mkdir - 创建目录 rm - 删除文件或目录 rmdir - 删除空目录 cp - 复制文件或目录 mv - 移动文件或目录,或重命名 cat - 显示文件内容 less - 分…...

Vue监听属性详细讲解

文章目录 定义要监听的属性定义 watch修改监听的属性值监听数组变化监听对象变化监听计算属性变化监听事件变化监听路由变化 在 Vue 中,可以使用 watch/$watch 方法监听数据、计算属性、事件和路由的变化,从而实现数据绑定、事件监听和路由控制等功能。需…...

网申形式一览:这三种投递方式,你了解吗?

银行校招是个滚动的过程,每家银行的网申期并不一致。想要在看重的银行网申期投出一份漂亮的简历,简历自身要“过硬”。是不是还有同学不清楚网申简历形式? 从如信银行考试中心了解到,银行网申,尤其是大行网申&#xff…...

vue项目将多张图片生成一个gif动图

当前做项目有一个需求是将多张图片生成一个gif动图的形式 类似下面图片几张图片叠加生成一个gif动图 图片涉及工作隐私,就不公开啦 我们要引入一个gif.js的引入包,但是他没有直接引入的方式,只能从官方下载文件包,下载地址&#…...

开心档之Go 语言常量

Go 语言常量 常量是一个简单值的标识符,在程序运行时,不会被修改的量。 常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。 常量的定义格式: const identifier [type] value你可以省略类…...

动态库和静态库的使用

一、什么是库? 库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。就是将源代码转化为二进制格式的源代码,相当于进行了加密,别人可以使用库,但是看不到库中的内容。 常见的库类型 共享库 静态库 动态库…...

前端:20 个常见的前端算法题

现在面试中,算法出现的频率越来越高了,大厂基本必考 今天给大家带来 20 个常见的前端算法题,重要的地方已添加注释,如有不正确的地方,欢迎多多指正 💕 1、两数之和 题目: 给定一个数组 nums …...

【Linux】多线程 --- 线程概念 控制 封装

从前种种,譬如昨日死。从后种种,往如今日生。 文章目录 一、线程概念1.重新理解用户级页表1.1 进程资源如何进行分配呢?(地址空间页表)1.2 虚拟地址如何转换到物理地址?(页目录页表项&#xff0…...

最长递增子序列的长度 _ 贪心+二分查找 _ 20230510

最长递增子序列的长度 _ 贪心二分查找 _ 20230510 前言 最长递增子序列的程序一般采用动态规划方式,使用bottom-up的数组记忆方式比较容易理解,当然也可以采用top-down的递归模式。本文主要讨论如何利用贪心策略,同时辅助以二分查找的方式实…...

VMware ESXi 7.0 U3m Unlocker OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版)

ESXi 7 U3 标准版集成 Intel 网卡、USB 网卡 和 NVMe 驱动 请访问原文链接:https://sysin.org/blog/vmware-esxi-7-u3-sysin/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 2023-05-03,发布 ESXi 7.0U…...

Scrum敏捷开发和项目管理流程及工具

Scrum是全球运用最广泛的敏捷管理框架,Leangoo基于Scrum框架提供了一系列的流程和模板,可以帮助敏捷团队快速启动Scrum敏捷开发。 这里可以介绍一下在scrum中单团队敏捷开发如何管理,单团队敏捷开发主要是针对10-15人以下,只有一…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

Java入门学习详细版(一)

大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...