1.下载psplash:gitclonegit://git.yoctoproject.org/psplash,会下载到当前目录的psplash文件夹中
2.下载成功后会在当前目录下生成一个psplash文件夹,进入psplash文件夹
forlinx@ubuntu:~$cdpsplash/forlinx@ubuntu:~/psplash$ls
会看到一个make-image-header.sh的脚本,等下会使用这个脚本来将图片转化成头文件。
3.在使用脚本之前,需要安装库,否则会报错。
forlinx@ubuntu:~/psplash$sudoapt-getinstalllibgdk-pixbuf2.0-dev[sudo]passwordforforlinx:Readingpackagelists...DoneBuildingdependencytreeReadingstateinformation...DoneThefollowingpackagewasautomaticallyinstalledandisnolongerrequired:linux-hwe-5.4-headers-5.4.0-84Use'sudoaptautoremove'toremoveit.【…】forlinx@ubuntu:~/psplash$sudoapt-getinstallbuild-essentiallibncurses5-devReadingpackagelists...DoneBuildingdependencytreeReadingstateinformation...Done【…】
4.将想要替换的图片复制到psplash文件夹中,此处用的是我们公司的logo,命名为logo-1024x600.png,外框照片命名为logo-bar.png。
进度条的外框logo-bar.png。
将这两张图片拷贝到psplash源码目录中,如下图所示。
二制作logo
1.在psplash源码中执行以下指令来生成logo-1024x600-img.h
2.返回到psplash源码下,执行以下指令生成logo-bar-img.h
forlinx@ubuntu:~/psplash$./make-image-header.shlogo-bar.pngBARforlinx@ubuntu:~/psplash$ls
同样我们打开logo-bar-img.h这个文件。它必须是加BAR参数的,因为其他地方会用到这样的宏定义。
forlinx@ubuntu:~/psplash$vilogo-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$vipsplash.c
修改完成后保存退出psplash.c,返回到源码目录下。
4.制作autogen.sh脚本,用于生成Makefile。
forlinx@ubuntu:~/psplash$viautogen.sh
内容如下:
#!/bin/bashaclocalautoheaderautomake--add-missingautoconf
制作完脚本后,赋予它可执行权限,再执行这个脚本。
forlinx@ubuntu:~/psplash$chmod777autogen.shforlinx@ubuntu:~/psplash$./autogen.shconfigure.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$viMakefile.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-linuxconfigure:loadingsitescript/opt/fsl-imx-xwayland/4.14-sumo/site-config-aarch64-poky-linuxcheckingforaBSD-compatibleinstall.../usr/bin/install-ccheckingwhetherbuildenvironmentissane...yescheckingforaarch64-poky-linux-strip...aarch64-poky-linux-stripcheckingforathread-safemkdir-p.../bin/mkdir-pcheckingforgawk...nocheckingformawk...mawkcheckingwhethermakesets$(MAKE)...yescheckingwhethermakesupportsnestedvariables...yescheckingforstyleofincludeusedbymake...GNU【…】
8.执行make指令进行编译。
forlinx@ubuntu:~/psplash$makecd.&&/bin/bash/home/forlinx/psplash/missingautomake-1.15--gnuMakefilecd.&&/bin/bash./config.statusMakefiledepfilesconfig.status:creatingMakefileconfig.status:executingdepfilescommands./make-image-header.shbase-images/psplash-bar.pngBARmakeall-ammake[1]:Enteringdirectory'/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-DFONT_HEADER=\"radeon-font.h\"-DFONT_DEF=radeon_font-O2-pipe-g-feliminate-unused-debug-types-MTpsplash-psplash.o-MD-MP-MF.deps/psplash-psplash.Tpo-c-opsplash-psplash.o`test-f'psplash.c'||echo'./'`psplash.c【…】
编译完成后会在源码目录下生成psplash和psplash-write文件。
三、替换出厂系统logo
将编译生成的psplash和psplash-write文件拷贝到开发板出厂文件系统/usr/bin目录下。
okmx8mmlogin:rootLastlogin:ThuJun2010:00:15UTC2019ontty7root@okmx8mm:~#cd/usr/bin/root@okmx8mm:/usr/bin#lspsp*psplashpsplash-defaultpsplash-writeroot@okmx8mm:/usr/bin#rmpsplashroot@okmx8mm:/usr/bin#rmpsplash-writeroot@okmx8mm:/usr/bin#cp/run/media/sda1/psplash./root@okmx8mm:/usr/bin#cp/run/media/sda1/psplash-write./root@okmx8mm:/usr/bin#sync