iMX8MQ技术贴 | OKMX8MQ-C linux5.4.3 修改开机进度条


一、下载psplash源码


下载 psplash:git clone git://git.yoctoproject.org/psplash,会下载到当前目录的psplash文件夹中


forlinx@ubuntu:~/imx8mq/OK8MQ-linux-sdk$ git clone git://git.yoctoproject.org/psplash

Cloning into 'psplash'...

remote: Enumerating objects: 11, done.

remote: Counting objects: 100% (11/11), done.

remote: Compressing objects: 100% (11/11), done.

remote: Total 306 (delta 2), reused 0 (delta 0), pack-reused 295

Receiving objects: 100% (306/306), 128.73 KiB | 4.44 MiB/s, done.

Resolving deltas: 100% (192/192), done.


下载成功后会在当前目录下生成一个psplash文件夹,进入psplash文件夹


1、主图片logo_bmw.png:



2、进度条图片logo.png:


二、制作进度条和LOGO

 

1、制作进度条和LOGO


需要安装以下库:

sudo apt-get install libgdk-pixbuf2.0-dev

sudo apt-get install build-essential libncurses5-dev 

制作logo

执行命令: ./make-image-header.sh logo_bmw.png POKY   //logo_bmw.png是自己要启动的图片

执行上面的命令会生成一个logo_bmw-img.h文件



POKY 参数只是一个变量,它会传入到 logo_bmw-img.h 文件里面,可以打开查看。

vi logo_bmw-img.h



2、制作进度条


执行命令:./make-image-header.sh logo.png BAR

执行上面的命令会生成一个logo-img.h文件



同样我们打开 logo-img.h 这个文件。它必须是加 BAR 参数的,因为其他地方会

用到这样的宏定义

vi logo-img.h



找到psplash.c文件并打开注释掉原来的头文件添加引用你生成的头文件



修改完成后保存退出 psplash.c,返回到源码目录下,制作 autogen.sh 脚本,用于生成 Makefile


3、制作 autogen.sh 脚本


制作 autogen.sh 脚本,用于生成 Makefile,如下


vim autogen.sh


脚本内容以下:

#!/bin/bash

aclocal

autoheader

automake --add-missing

autoconf


赋予可执行权限:chmod 777 autogen.sh

./autogen.sh 



修改 Makefile.am,将 psplash-poky-img.h 修改成 logo_bmw-img.h,将 psplash-bar-img.h 修

改成 logo-img.h

vi Makefile.am 

修改完后的 Makefile.am 如下图所示。



修改完 Makefile.am 后保存退出,回到源码目录下。


4、配置交叉编译器环境变量


. /opt/fsl-imx-xwayland/5.4-zeus/environment-setup-aarch64-poky-linux


环境变量使能后,就可以执行以下指令配置交叉编译工具链。

./configure  --host=aarch64-poky-linux 



执行 make 指令进行编译。

make 



编译完成后会在源码目录下生成 psplash 和 psplash-write 文件。



三、替换出厂系统进度条和 logo


将编译生成的 psplash 和 psplash-write 文件拷贝到iMX8MQ开发板出厂文件系统/usr/bin 目录下。