How To Modify The Boot Progress Bar on OKMX8MQ Linux5.4.3

First,download the psplash source code


Download psplash:git clone git://git.yoctoproject.org/psplash, which will be downloaded to the psplash folder in the current directory

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.


After download, generate a psplash folder in the current directory and enter it:

1. The main image logo_bmw.png:

Forlinx logo

2. Progress bar picture logo .png:

Second, production progress bar and LOGO

1. Production progress bar and LOGO

The following libraries need to be installed:

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

sudo apt-get install build-essential libncurses5-dev

Make a logo

Execute the command: ./make-image-header.sh logo_bmw.png POKY //logo_bmw.png is the picture that you want to start

Executing the above command generates a logo_bmw-img.h file


The POKY parameter is just a variable that is passed into the logo_bmw-img.h file and can be opened for viewing.

vi logo_bmw-img.h

2. Production progress bar

Execute the command: ./make-image-header.sh logo.png BAR

Executing the above command generates a logo-img.h file


Similarly, we open the logo-img.h file. It must be with the BAR parameter added, as it will be elsewhere

Such a macro definition is used.

vi logo-img.h

Locate the psplash .c file and open the commented out header file to add a reference to the header file you generated


After the modification is complete, save the exit psplash .c, return to the source directory, and make autogen.sh script to generate the Makefile


3. Make autogen.sh scripts

Make a autogen.sh script to build a Makefile, as follows

vim autogen.sh

The script content is as follows:

#!/bin/bash

aclocal

autoheader

automake --add-missing

autoconf

Give executable permissions: chmod 777 autogen.sh

./autogen.sh

Modify Makefile.am, modify psplash-poky-img.h to logo_bmw-img.h, and psplash-bar-img.h

Changed to logo-img.h

vi Makefile.am

The modified Makefile.am is shown in the following figure.

After modifying the Makefile.am, save and exit, and return to the source directory.


4. Configure cross-compiler environment variables

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

After the environment variables are enabled, you can execute the following instructions to configure the cross-compilation toolchain.

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

Execute the make directive to compile.

make

After compiling, the psplash and psplash-write files are generated in the source directory.

Third, replace the factory system progress bar and logo

Copy the compiled psplash and psplash-write files to the iMX8MQ SBC's factory file system/usr/bin directory.