版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
最近因为工作需要,需要将Linux启动时的开机进度条背景修改为公司logo,并将进度条转换为自己的动画。这里说明一下,psplash是Linux下的一款开源软件,可以在嵌入式产品中显示开机进度条。除此之外,实现类似功能的有U-boot Splash,X Splash等等。以下是psplash的背景图片修改过程:
1、开启进度条图片硬编码进头文件中
a、将自定义的进度条图片my-image.png拷贝到到psplash的源码目录下,并进入该目录b、将图片制作成相应的头文件:my-image-img.h
./make-image-header.sh my-image.png POKY
2、修改psplash.c文件,将生成的my-image-img.h包含到psplash.c文件中,并注释掉psplash-poky-img.h
3、修改psplash-colors.h文件,将进度条的背景颜色改为纯黑色
4、去掉整个psplash的进度条,将psplash.c文件中的psplash_draw_progress函数定义及其调用通通注释掉
5、编译前期的准备。
a、运行autogen.sh,生成配置文件configure
./autogen.sh
b、运行configure文件生成Makefile文件
./configure
c、修改Makefile:
CC = /opt/fsl-imx-x11/3.14.52-1.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc
CFLAGS = -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 –sysroot=/opt/fsl-imx-x11/3.14.52-1.1.0/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
DEFAULT_INCLUDES = -I/opt/poky/1.7/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include
d、设置环境变量:
export LIBRARY_PATH=/opt/poky/1.7/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib
6、执行make命令,生成psplash和psplash-write可执行文件。
7、将可执行文件名修改为psplash-default,并拷贝到根文件系统的/usr/bin目录下。