logo和屏幕光标
Linux默认开机LOGO一般都是80x80的小企鹅图标,有时候为了一些效果,希望在Linux
启动过程中,全屏看到用户自定义的LOGO,这就需要为Linux增加新的LOGO。
准备png图片
使用任何图片软件,制作一张自定义的开机图片,可以根据自己的液晶屏大小设定,png
格式。如下以224色为例。
我使用了一张jylogo800480的png图片。
转换成ppm文件
# pngtopnm jylogo800480.png | ppmquant -fs 223 | pnmtoplainpnm >
logo_jylogo_clut224.ppm
添加新LOGO
将得到的ogo_jylogo_clut224.ppm文件复制到drivers/video/logo目录下,命名为
logo_jylogo_clut224.ppm
drivers/video/logo/logo_jylogo_clut224.ppm
进入drivers/video/logo目录,修改logo.c文件:
extern const struct linux_logo logo_jylogo_clut224;
并添加:
#ifdef CONFIG_LOGO_JY
logo = &logo_jylogo_clut224;
return logo;
#endif
修改Makefile:
obj-$(CONFIG_LOGO_JY) += logo_jylogo_clut224.o
修改Kconfig文件:
config LOGO_JY
bool "JY-01 Linux logo"
default y
红色标志的必须相同,必须遵循(logo_yourname_type)这种命名方式。
禁止LCD控制台的光标
另外,使用了全屏的LOGO图片后,控制台还是有光标闪烁,如何禁止?
去掉了framebuffer console支持,试试。
不行,LOGO都不显示了。
drivers/video/console/Makefile
#obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o font.o softcursor.o
obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o bitblit.o font.o
编译遇到一个soft_cursor没有定义的问题问题,注释代码:
drivers/video/console/bitblit.c
// if (err)
// soft_cursor(info, &cursor);
光标成功禁止,图形界面正常启动。