❯ 如果要修改一样3588开机启动界面,需要修改哪里的代码?
● 开机启动界面在 Rockchip Android 系统中分为 3 个阶段,每个阶段对应不同的代码位置:
启动画面三阶段总览
上电 ──> U-Boot Logo ──> Kernel Logo ──> Android 开机动画 ──> 桌面
(阶段1) (阶段2) (阶段3)
~1-2秒 ~2-3秒 ~10-20秒
阶段 1:U-Boot 开机 Logo(上电后第一个画面)
┌────────────────────────────────────────┬────────────────────┐
│ 文件 │ 说明 │
├────────────────────────────────────────┼────────────────────┤
│ u-boot/common/splash.c │ Splash 显示逻辑 │
├────────────────────────────────────────┼────────────────────┤
│ u-boot/common/splash_source.c │ Logo 数据加载 │
├────────────────────────────────────────┼────────────────────┤
│ u-boot/tools/logos/*.bmp │ Logo BMP 图片 │
├────────────────────────────────────────┼────────────────────┤
│ u-boot/configs/rk3588_defconfig │ RK3588 U-Boot 配置 │
├────────────────────────────────────────┼────────────────────┤
│ u-boot/include/configs/rk3588_common.h │ 通用配置头文件 │
└────────────────────────────────────────┴────────────────────┘
修改方法:替换 BMP 格式 logo 图片,或修改设备树中 logo 相关节点。
阶段 2:Kernel 开机 Logo(内核加载阶段)
┌─────────────────────────────────────────────────────────┬────────────────────────┐
│ 文件 │ 说明 │
├─────────────────────────────────────────────────────────┼────────────────────────┤
│ kernel-6.1/logo.bmp │ 内核启动 Logo 图片 │
├─────────────────────────────────────────────────────────┼────────────────────────┤
│ kernel-6.1/logo_kernel.bmp │ 备用内核 Logo │
├─────────────────────────────────────────────────────────┼────────────────────────┤
│ kernel-6.1/drivers/gpu/drm/rockchip/rockchip_drm_logo.c │ Rockchip DRM Logo 驱动 │
├─────────────────────────────────────────────────────────┼────────────────────────┤
│ kernel-6.1/drivers/gpu/drm/rockchip/rockchip_drm_logo.h │ Logo 驱动头文件 │
├─────────────────────────────────────────────────────────┼────────────────────────┤
│ kernel-6.1/drivers/video/logo/logo_linux_clut224.ppm │ 标准 Linux 企鹅 Logo │
├─────────────────────────────────────────────────────────┼────────────────────────┤
│ kernel-6.1/drivers/video/logo/pnmtologo.c │ PPM→Logo 转换工具 │
└─────────────────────────────────────────────────────────┴────────────────────────┘
修改方法:替换 logo.bmp / logo_kernel.bmp,或替换 .ppm 文件后重新编译内核。
阶段 3:Android 开机动画(最主要、最长的启动画面)
这是用户感知最强的部分,也是最常需要定制的。
核心文件
文件: device/rockchip/common/bootanimation.zip
说明: 默认开机动画包(直接替换此文件即可)
────────────────────────────────────────
文件: device/rockchip/common/bootshutdown/bootshutdown.mk
说明: 开关机动画构建配置
────────────────────────────────────────
文件: device/rockchip/common/bootvideo/bootvideo.mk
说明: 开机视频配置
────────────────────────────────────────
文件: frameworks/base/cmds/bootanimation/BootAnimation.cpp
说明: 动画播放引擎源码
────────────────────────────────────────
文件: frameworks/base/cmds/bootanimation/FORMAT.md
说明: 动画格式规范文档
bootanimation.zip 制作方法
bootanimation.zip
├── desc.txt ← 描述文件 (必须)
├── part0/ ← 第一段动画帧 (循环播放)
│ ├── 0001.png
│ ├── 0002.png
│ └── ...
├── part1/ ← 第二段动画帧 (播放一次)
│ ├── 0001.png
│ └── ...
└── audio.wav ← 开机音效 (可选)
desc.txt 格式:
1080 1920 30 # 宽度 高度 帧率(FPS)
p 0 0 part0 # p 循环次数(0=无限) 暂停帧数 目录名
p 1 0 part1 # p 1=播放一次 0=不暂停 part1目录
关键要求:
开机视频(替代动画方案)
在 device/rockchip/rk3588/rk3588_u/BoardConfig.mk 中添加:
BOOT_VIDEO_ENABLE ?= true
然后将视频文件放到:
device/rockchip/common/bootvideo/bootanimation.ts
支持 .ts / .mp4 格式,建议分辨率 1080p 以下。
参考文档
项目中自带了 Rockchip 官方文档:
快速修改建议
如果你只想换开机动画,最简单的方式是直接替换:
device/rockchip/common/bootanimation.zip
制作好新的 bootanimation.zip(遵循上述格式),替换这个文件后重新编译系统即可。