这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » iMX8M系列技术贴|制作开机动画的思路

共7条 1/1 1 跳转至

iMX8M系列技术贴|制作开机动画的思路

助工
2022-01-07 10:17:34     打赏

近期有部分客户询问飞凌嵌入式i.MX8M系列开发板如何添加或更改开机动画,下文以OKMX8MM-C为例整理出如下思路,可供客户尝试。


一、下载psplash源码

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


forlinx@ubuntu:~$ 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 | 74.00 KiB/s, done.

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


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


forlinx@ubuntu:~$ cd psplash/ forlinx@ubuntu:~/psplash$ ls


 make-image-header.sh 脚本


会看到一个 make-image-header.sh 的脚本,等下会使用这个脚本来将图片转化成头文件。


3.在使用脚本之前,需要安装库,否则会报错。


forlinx@ubuntu:~/psplash$ sudo apt-get install libgdk-pixbuf2.0-dev

[sudo] password for forlinx:

Reading package lists... Done

Building dependency tree

Reading state information... Done

The following package was automatically installed and is no longer required:

linux-hwe-5.4-headers-5.4.0-84 Use 'sudo apt autoremove' to remove it.

【…】

forlinx@ubuntu:~/psplash$ sudo apt-get install build-essential libncurses5-dev

Reading package lists... Done

Building dependency tree

Reading state information... Done

【…】


4.将想要替换的图片复制到psplash文件夹中,此处用的是我们公司的logo,命名为logo-1024x600.png ,外框照片命名为logo-bar.png。

外框照片


进度条的外框 logo-bar.png。


进度条的外框


将这两张图片拷贝到 psplash 源码目录中,如下图所示。


psplash 源码目录


二 制作logo

1.在 psplash 源码中执行以下指令来生成 logo-1024x600-img.h


POKY 参数


可以看到它必须是要加 POKY 参数的,因为其他地方要用到这样的宏定义。


2.返回到 psplash 源码下,执行以下指令生成 logo-bar-img.h


forlinx@ubuntu:~/psplash$ ./make-image-header.sh logo-bar.png BAR forlinx@ubuntu:~/psplash$ ls


生成 logo-bar-img.h


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


forlinx@ubuntu:~/psplash$ vi logo-bar-img.h


修改include


3.打开 psplash.c,将里面的 #include "psplash-poky-img.h" 修改成 #include "logo-1024x600-img.h"。将里面的 #include " psplash-bar-img.h" 修改成 #include "logo-bar-img.h"。修改完后如下图所示。


forlinx@ubuntu:~/psplash$ vi psplash.c


修改成 #include logo-bar-img.h


修改完成后保存退出 psplash.c,返回到源码目录下。


4.制作 autogen.sh 脚本,用于生成 Makefile。


forlinx@ubuntu:~/psplash$ vi autogen.sh


内容如下:


#!/bin/bash aclocal autoheader automake --add-missing autoconf


制作完脚本后,赋予它可执行权限,再执行这个脚本。


forlinx@ubuntu:~/psplash$ chmod 777 autogen.sh

forlinx@ubuntu:~/psplash$ ./autogen.sh configure.ac:7: installing './compile'

configure.ac:3: installing './install-sh'

configure.ac:3: installing './missing' Makefile.am: installing './INSTALL'

Makefile.am: installing './depcomp'


5.修改 Makefile.am,将 psplash-poky-img.h 修改成logo-1024x600-img.h,将 psplash-bar-img.h 修改成 logo-bar-img.h。


forlinx@ubuntu:~/psplash$ vi Makefile.am


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


修改完后的 Makefile.am


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


6.执行以下指令,使能环境变量。


forlinx@ubuntu:~/psplash$ . /opt/fsl-imx-xwayland/4.14-sumo/environment-setup-aarch64-poky-linux


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


forlinx@ubuntu:~/psplash$ ./configure --host=aarch64-poky-linux

configure: loading site script /opt/fsl-imx-xwayland/4.14-sumo/site-config-aarch64-poky-linux

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for aarch64-poky-linux-strip... aarch64-poky-linux-strip

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for gawk... no checking for mawk... mawk

checking whether make sets $(MAKE)... yes

checking whether make supports nested variables... yes

checking for style of include used by make... GNU

【…】


8.执行 make 指令进行编译。


forlinx@ubuntu:~/psplash$ make

cd . && /bin/bash /home/forlinx/psplash/missing automake-1.15 --gnu Makefile

cd . && /bin/bash ./config.status Makefile depfiles

config.status: creating Makefile

config.status: executing depfiles commands

./make-image-header.sh base-images/psplash-bar.png BAR

make all-am

make[1]: Entering directory '/home/forlinx/psplash'

aarch64-poky-linux-gcc --sysroot=/opt/fsl-imx-xwayland/4.14-sumo/sysroots/aarch64-poky-linux -DHAVE_CONFIG_H -I. -g -Wall -Wextra -D_GNU_SOURCE -DFO

NT_HEADER="radeon-font.h" -DFONT_DEF=radeon_font -O2 -pipe -g -feliminate-unused-debug-types -MT psplash-psplash.o -MD -MP -MF .deps/psplash-psplash.T

po -c -o psplash-psplash.o `test -f 'psplash.c' || echo './'`psplash.c

【…】


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

源码目录下生成 psplash 和 psplash-write 文件


三、替换出厂系统logo

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


okmx8mm login:root

Last login: Thu Jun 20 10:00:15 UTC 2019 on tty7

root@okmx8mm:~# cd /usr/bin/

root@okmx8mm:/usr/bin# ls psp* psplash psplash-default psplash-write

root@okmx8mm:/usr/bin# rm psplash

root@okmx8mm:/usr/bin# rm psplash-write

root@okmx8mm:/usr/bin# cp /run/media/sda1/psplash ./

root@okmx8mm:/usr/bin# cp /run/media/sda1/psplash-write ./

root@okmx8mm:/usr/bin# sync


保存重启后可看到开机动画已替换完成。效果如下:


开机动画替换完成效果

原文链接:https://www.forlinx.com/article_view_806.html




专家
2022-01-07 10:23:44     打赏
2楼

谢谢分享


专家
2022-01-07 12:02:49     打赏
3楼

努力动手,提高自己。真棒!


专家
2022-01-07 12:56:09     打赏
4楼

感谢分享! 已收藏


专家
2022-01-07 13:08:03     打赏
5楼

感谢分享!


高工
2022-01-07 15:03:26     打赏
6楼

感谢楼主的分享,很实用了。


助工
2022-01-08 23:54:24     打赏
7楼

感谢您的分享


共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]