研发带液晶屏的嵌入式设备产品时,开机启动时会在液晶屏启动阶段显示启动图片(并不是动画,安卓系统可以配置动画,Linux不可配置动画,需要其他手段)。
为了产品及品牌需要,我们往往需要将开机画面修改成产品或品牌相关的图片。具体修改步骤如下:
1.准备图片。
准备一张和液晶屏尺寸大小的png格式的图片,如my_logo.png。
2.安装图片转换工具netpbm(ubuntu系统下)
sudo apt-get install netpbm
3.转换图片
kernel的logo支持的最大颜色数量为224, 所以需要将png图片的颜色最大数量设置为223, 才能保证转换成kernel logo的图片后不失真。
pngtopnm my_logo.png > my_logo.pnm
pnmquant 224 my_logo.pnm > my_logo224.pnm
pnmtoplainpnm my_logo224.pnm > my_logo_clut224.ppm
4.将图片拷贝纸内核驱动目录/drivers/video/logo/下
5.修改drivers/video/logo目录下的Kconfig文件,增加.ppm文件的配置,在Kconfig文件增加以下几行。
config MY_LOGO_CLUT224
bool
"MY Logo"
default y
6.修改 drivers/video/logo/logo.c文件,在if (depth >= 8)下增加以下几行。
#ifdef CONFIG_MY_LOGO_CLUT224
/* Some comments */
logo = &my_logo_clut224;
#endif
obj-$(CONFIG_MY_LOGO_CLUT224) += my_logo_clut224.o
8.修改include/linux/linux_logo.h文件,增加一行。
extern const struct linux_logo my_logo_clut224;
9.在menuconfig中把其他logo取消掉,勾选该logo,重新编译内核即可。
欢迎转载,欢迎指正,更欢迎点赞。转载请附原文链接。