RK3562 开发板开机 LOGO 一键更换,独立分区 + 双模式更新全教程
Forlinx
2026-02-05 13:53:00
RK3562开发板
RK3562开机LOGO
一、方案介绍
本方案的核心设计思想是将开机LOGO资源独立存储于专用分区,与系统根文件系统分离。这种架构设计带来了以下显著优势:
- 隔离性:LOGO更新操作不会影响系统核心文件,降低更新风险
- 便捷性:无需重新编译整个系统,缩短产品迭代周期
- 灵活性:支持生产环境动态更换品牌标识,满足OEM需求
- 兼容性:适配Linux 5.10.198内核与QT5.15.10图形框架
二、修改步骤
(一)添加LOGO分区
在Ubuntu开发环境中,执行命令编辑分区配置文件,定义存储分区布局:
forlinx@ubuntu:~/work/3562/OK3562-linux-source$ vi device/forlinx/.chips/ok3562/parameter-buildroot-fit.txt
在配置文件中添加LOGO分区并调整userdata分区,完整配置内容如下:
// 添加logo分区:0x00100000@0x00cba000(logo) // 修改userdata分区:-@0x00dba000(userdata:grow) CMDLINE: mtdparts=:0x00002000@0x00004000(uboot),0x00002000@0x00006000(misc),0x00020000@0x00008000(boot),0x00040000@0x00028000(recovery),0x00010000@0x00068000(backup),0x00c00000@0x00078000(rootfs),0x00040000@0x00c78000(oem),0x00002000@0x00cb8000(amp),0x00100000@0x00cba000(logo),-@0x00dba000(userdata:grow)
(二)修改U-Boot并验证分区
由于RK3562的U-Boot源码未开源,直接使用适配本方案的修改版uboot.img(基于Linux5.10.198+QT5.15.10_用户资料_R1制作,新版本需重新验证兼容性)。
- 将uboot.img文件放入OK3562-linux-source/u-boot目录,替换原有文件
- 执行全编译操作,将编译后的镜像烧写至开发板
- 开发板启动后,执行验证命令查看分区信息
分区验证:
开发板启动后,执行fdisk -l命令查看分区信息,完整输出如下:
root@ok3562:/# fdisk -l Found valid GPT with protective MBR; using GPT Disk /dev/mmcb1k0: 30576640 sectors, 2642M Logical sector size: 512 Disk identifier(GUID): 27330000-0000-4656-8000-71000000163b Number Start(sector) End (sector) Size Name 1 16384 24575 4096K uboot 2 24576 32767 4096K misc 3 32768 163839 64.0M boot 4 163840 425983 128M recovery 5 425984 491519 32.0M backup 6 491520 13074431 6144M rootfs 8 13336576 13344767 4096K amp 9 13344768 14393343 512M logo 10 14393344 30576606 7901M userdata
三、LOGO更新方法
适用于批量部署场景,插入U盘自动检测并完成更新,无需人工干预命令行。
适用于开发调试阶段,通过命令行手动执行写入操作,精确控制更新流程。
(一)U盘自动更新
准备工作:
在U盘根目录创建Forlinx_logo文件夹,将logo.bmp和logo_kernel.bmp两张LOGO图片放入该文件夹。
自动更新脚本:
编写LOGO自动更新脚本logo.sh,脚本按功能分段实现检测、打包、写入逻辑,完整代码如下:
#!/bin/bash
# 功能1:定义U盘检测与LOGO更新核心函数
check_sdcard(){
# 循环检测U盘挂载状态
while true; do
# 检测U盘根目录是否存在Forlinx_logo文件夹
if [[ -d "/run/media/sda1/Forlinx_logo" ]]; then
cd "/run/media/sda1/Forlinx_logo"
# 检测是否存在更新标志文件,避免重复更新
if [[ -f "Forlinx_logo_flag" ]]; then
echo "Forlinx_logo_flag file. Exiting."
break
else
# 功能2:校验LOGO图片是否齐全,齐全则执行打包与写入操作
if [[ -f "/run/media/sda1/Forlinx_logo/logo.bmp" && -f "/run/media/sda1/Forlinx_logo/logo_kernel.bmp" ]]; then
# 合并LOGO图片为镜像文件
cat "logo.bmp" > "logo.img"
# 按512字节对齐镜像文件,适配分区写入要求
truncate -s %512 "logo.img"
# 追加内核LOGO图片至镜像文件
cat "logo_kernel.bmp" >> "logo.img"
# 将镜像文件写入LOGO分区
dd if="logo.img" of="/dev/block/by-name/logo"
# 功能3:更新完成后输出提示,并创建标志文件
echo "Logo files copied and written to /dev/block/by-name/logo."
touch "Forlinx_logo_flag"
break;
else
echo "Missing logo.bmp or logo_kernel.bmp files."
fi
fi
fi
# 每5秒检测一次,避免占用过多系统资源
sleep 5
done
}
# 功能4:后台启动检测函数,不阻塞系统其他进程
check_sdcard &
配置脚本开机自启:
临时生效:编辑开发板/etc/autorun.sh文件,原文件内容如下:
root@ok3562:/# cat /etc/autorun.sh #!/bin/sh #env #user command exit 0
添加脚本执行命令,修改后完整内容:
#!/bin/sh # env # 启动LOGO自动更新脚本 ./logo.sh sync exit 0
保存后重启开发板,脚本即可临时生效。
永久生效:编辑buildroot/board/forlinx/ok3562/fs-overlay/etc/autorun.sh文件,添加上述脚本执行命令,重新编译烧写镜像后,脚本永久生效。
(二)手动更新
将logo.bmp和logo_kernel.bmp两张LOGO图片传入开发板。
执行以下命令,完成LOGO镜像打包与分区写入:
root@ok3562:/# cat logo.bmp > logo.img && truncate -s %512 logo.img && cat logo_kernel.bmp >> logo.img root@ok3562:/# dd if=logo.img of=/dev/block/by-name/logo 7201+1 records in 7201+1 records out 3686966 bytes (3.7 MB, 3.5 MiB) copied, 0.234017 s, 15.8 MB/s root@ok3562:/# sync
重启开发板,开机LOGO即可完成更换。
四、关键说明
本方案中分区参数以 512字节标准存储块为计数单位,配置参数0x00100000对应1048576个存储块,总容量为512M,与fdisk -l命令的验证结果完全一致,无需额外进行单位换算。
| 参数项 | 十六进制值 | 十进制值 | 计算结果 |
|---|---|---|---|
| LOGO分区大小 | 0x00100000 | 1,048,576 | 1,048,576 × 512B = 512MB |
| LOGO分区起始 | 0x00cba000 | 13,344,768 | 对应扇区号 13,344,768 |
| Userdata起始 | 0x00dba000 | 14,393,344 | 紧接LOGO分区之后 |
华北区负责人
华东区负责人
华南区负责人
中西区负责人
相关产品 >
-
OK3562J-C开发板
RK3562开发板,采用核心板+底板分体式设计,CPU采用瑞芯微工业级芯片RK3562J设计,RK3562J是瑞芯微专为工业自动化及消费类电子设备打造的一款高性能、低功耗国产化应用处理器,集成了4个ARM Cortex-A53高性能核,主频高达1.8GHz。RK3562核心板采用3组80Pin板对板连接器,可插拔式设计便于产品的安装与维护。 了解详情
-
FET3562J-C核心板
RK3562核心板,采用高性能低功耗工业级芯片RK3562J设计,RK3562J是瑞芯微专为工业自动化及消费类电子设备打造的一款高性能、低功耗国产化应用处理器,集成了4个ARM Cortex-A53高性能核,主频高达1.8GHz。RK3562核心板采用3组80Pin板对板连接器,可插拔式设计便于产品的安装与维护。 了解详情

