如前文所述,系统的默认配置是启动时显示LOGO图像,即显示drivers/video/logo目录下的logo_linux_clut224.ppm图像。但这个LOGO是显示在LCD的左上角,而且还有一个恼人的光标在闪。本文就介绍如何去除光标,并且把LOGO显示在LCD的正中间,最后还给出如何添加自己的LOGO的方法。
一、LOGO显示在LCD的中间:
1、修改drivers/video/fbmen.c文件
把第496行和497行改为:
496 // image.dx = 0;
497 // image.dy = y;
496 image.dx = (info->var.xres/2) – (logo->width/2);
497 image.dy = (info->var.yres/2) – (logo->height/2);
2、修改drivers/video/console/fbcon.c
在第588行增加一条语句:
587 logo_height = fb_prepare_logo(info, ops->rotate);
588 logo_height += (info->var.yres/2)-(logo_height/2); //增加的一行
589 logo_lines = DIV_ROUND_UP(logo_height,vc->vc_font.height);
二、去除光标
在drivers/video/console/fbcon.c文件中,将fb_flashcursor函数和fbcon_cursor函数里的内容注释掉,使之变成空函数。
三、显示自己的LOGO
我的系统是fedora17,带有GNU图像处理程序(即GIMP),利用该软件可以把任意图像转换为格式为224的PPM文件。
1、打开图像文件,选择菜单图像---à模式,然后选择索引颜色转换,在打开的窗口内“最大颜色数量设置”为224,单击转换,关闭窗口。
2、如果图像的像素大于LCD的像素,还要把图像进行缩小,否则无法显示。选择菜单图像---à缩放图像,在打开的窗口内进行像素的调整。
3、选择文件---à导出,在打开的窗口内以ppm的格式保存图像,图像名字为:logo_linux_clut224.ppm,在下一个窗口内选择保存格式为ASCII。这样自己的ppm格式的图像就制作完了。
4、把制作好的图像复制到drivers/video/logo目录下,替换原有的文件。
经过上述三个步骤,再重新启动机器后,自己的LOGO就显示在了LCD的中间,并且以后再显示其他图像的时候,光标也会消失。