应用笔记 / 经验分享 · 2025年2月25日

Linux下使用psplash实现user space开机Logo显示和进度条更新

一 准备psplash开发环境
1.1下载psplash源码包
git clone git://git.yoctoproject.org/psplash
1.2 安装配置命令
sudo apt-get install libgdk-pixbuf2.0-dev
sudo apt-get install automake
1.3 更新psplash-poky-img.h

图1
如上图1所示,准备png格式图片,然后拷贝到psplash源码包,调用make-image-header.sh将logo.png转换成logo-img.h,最后替换原有头文件psplash-poky-img.h

二 重新编译psplash
./autogen.sh
./configure –host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc
make
编译成功后,psplash,psplash-write即我们需要的可执行文件
下图2为autogen.sh源码,该脚本主要用来生成configure文件

图2

三 安装psplash
拷贝psplash,psplash-write到板卡/usr/bin目录
拷贝S00psplash.sh到板卡/etc/rcS.d目录,实现logo开机自启动
下图3为S00psplash.sh源码
其中rotation表示旋转角度,默认为0

图3

四 执行psplash
执行如下命令,显示器将显示logo,同时可以看到进度条不断变化。
详情如下图4所示:

图4
4.2 关闭进度条
打开psplash.c,修改后的代码清单如下所示:

图5
4.3 修改logo背景颜色为纯黑色
打开psplash-colors.h,修改后的代码清单如下所示:

图6
4.4 关闭LOGO
执行如下命令,显示器将关闭logo。
详情如下图7所示:

图7
————————————————

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

原文链接:https://blog.csdn.net/ohyes158/article/details/129373040