- 目前在使用NXP IMA8MM yocto 环境
- 开机动画是使用psplash制作的
- 下载psplash
git clone git://git.yoctoproject.org/psplash
- 将base-images目录下的psplash-poky.png换成自己想要的图片
- 注释掉进度条相关代码
1.将psplash.c文件中的psplash_draw_progress函数的调用注释掉
2.将psplash.c文件中以下代码屏蔽,这段代码是显示进度条边框的
/* Draw progress bar border */
psplash_fb_draw_image (fb,
(fb->width - BAR_IMG_WIDTH)/2,
SPLIT_LINE_POS(fb),
BAR_IMG_WIDTH,
BAR_IMG_HEIGHT,
BAR_IMG_BYTES_PER_PIXEL,
BAR_IMG_ROWSTRIDE,
BAR_IMG_RLE_PIXEL_DATA);
- 制作autogen.sh脚本,用于生成Makefile
#!/bin/bash
aclocal
autoheader
automake --add-missing
autoconf
- 生成Makefile
./autogen.sh
- 配置交叉编译库
./configure --host=arm-linux --prefix=/home/bert/arm/paplash/
- make && make install
- 将/home/bert/arm/psplash/bin/目录下的psplash与psplash-write拷贝到根文件系统/usr/bin/目录下
遇到的问题
我的宿主机是ubuntu16.04。make时提示:
./make-image-header.sh: 7: ./make-image-header.sh: gdk-pixbuf-csource: not found
尝试sudo apt-get install libgdk-pixbuf2.0-dev
各种依赖问题装不上,蛋疼至极
最终通过以下方法解决:
1. 将psplash的源码copy到ubuntu12.04并在源码根目录执行./make-image-header.sh base-image/psplash-poky.png POKY
2. 将生成的psplash-poky-img.h复制到ubuntu16.04中
3.再执行make
更换开机企鹅logo
pngtopnm logo.png > linuxlogo.pnm
pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
pnmtoplainpnm linuxlogo224.pnm > logo_linux_clut224.ppm
- 然后把logo_linux_clut224.ppm 替换到/drivers/video/logo
- 配置内核
Device Drivers-->
Graphics Support-->
Bootop logo-->
[*] Standard
224-color Linux logo
- 编译内核