近期有部分客户询问飞凌嵌入式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 的脚本,等下会使用这个脚本来将图片转化成头文件。
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 源码目录中,如下图所示。
二 制作logo
1.在 psplash 源码中执行以下指令来生成 logo-1024x600-img.h
可以看到它必须是要加 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 这个文件。它必须是加 bar 参数的,因为其他地方会 用到这样的宏定义。
forlinx@ubuntu:~/psplash$ vi logo-bar-img.h
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
修改完成后保存退出 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 后保存退出,回到源码目录下。
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 文件。
三、替换出厂系统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
西人马推出压阻式压力传感器,可应用于多种血压计
中国电信5G核心网将以SA为目标架构推动产业链成熟
Ambarella合作开发ADAS与驾驶监控方案 瑞萨电子子公司SoC通过认证
杭州萤石网络有限公司在北京召开了旗下多款产品的发布会,同时发布了多款智能产品
履约核心引擎低代码化原理与实践
制作开机动画的思路
聊聊辨别双绞线质量的方法
朝鲜研发成功使用“全盛”电子移动支付系统
具有简化诊断监控功能的隔离电源
弘硕科技半导体集成电路材料生产项目开工 总投资达3.4亿元
怎么录制电脑屏幕视频?
不止应用于抬头显示 汽车AR增强现实技术能做些什么?
从今往后,谷歌搜索AI为王
关于同步BUCK芯片MP4572的电气参数解读
[图文]金属接近开关
关于消防巡检柜的参数,它的修改方法是怎么样的
标压处理器各显身手,R75800H和11800H谁能更胜一筹?
基于R2000芯片的读写器架构分析 浅谈R2000芯片之架构
丝管蒸发器的应用能够提供精确地热控制
印度正在从以色列购买更多的“苍鹭”无人机监控难以巡逻的重要地点