最近因為工作需要,需要將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 POKY2、修改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.shb、運行configure文件生成Makefile文件
./configurec、修改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/included、設置環境變量:
export LIBRARY_PATH=/opt/poky/1.7/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib6、執行make命令,生成psplash和psplash-write可執行文件。
7、將可執行文件名修改為psplash-default,並拷貝到根文件系統的/usr/bin目錄下。