分类: LINUX
2010-04-15 17:40:10
1、制作logo的方法:
首先选择一个自己喜欢的图片,然后通过GIMP软
件将该图片保存为.png格式,
变换方式这个就不说了(very easy),比如保存为linuxlogo.png.
然后将该图片传入到装有Linux PC比如(ubuntu),按照以下顺序你就可以制作一个你喜欢logo
前提你必须安装以下的工具(pngtopnm,pnmquant,pnmtoplainpnm)
$ pngtopnm
linuxlogo.png > linuxlogo.pnm
$ pnmquant 224 linuxlogo.pnm >
linuxlogo224.pnm
$ pnmtoplainpnm linuxlogo224.pnm >
linuxlogo224.ppm
这样您制作的logo就已经成功了,将linuxlogo224.ppm
拷贝到/drivers/video/logo文件夹中的根据你的平台具体使用的哪个logo进行命名,
由与我用的是freescal的i.mx27,所以我取的名字为logo_mx27ads_clut224.ppm,友情提醒将原有的logo保存。
这样你的logo就完全制作好了,但是有这一点还是不够的,你必须在内核中选择logo,接下来我们来看如何配置内核
2、配置logo选项
在内核路径下执行make
menuconfig
a、选择虚拟控制台为控制台显示驱动做准备
Device Drivers
--->Character devices ---> Virtual terminal
[*] Support
for console on virtual terminal
b、选择虚拟控制台显示驱动
Device Drivers
--->Graphics support --->下有这个选项Console display driver support
--->
根据你的硬件选择由Framebuffer还是VGA
[*] Framebuffer Console
support或者
[*] VGA text console
c、Device Drivers
--->Graphics support --->
<*> Support for frame
buffer devices
<*> MXC Framebuffer support下选择是VGA还是TVOUT
[*] tvout CH7024 on MX27 //TVOUT
[*]support VGA
daughter //VGA
当然以上的配置选项,因平台而异会有些小的差别。
做好以上两个步骤,你就可以重新编译内核,将其烧
到开发板,接VGA或者TVOUT显示。
这样你可以看到你自己制作的logo,你可以发现在logo的左上角有一个闪动的光标,接下来我们说
说如何将这个光标去除。
3、如何将开机logo中的光标去除
在内核
的当前目录进入到drivers/video/console/fbcon.c文件
将static void
fb_flashcursor(void *private)制成空函数如下
386 static void
fb_flashcursor(void *private)
387 {
388 #if 0 //modify by yejj for clear cursor of
lcdc
389 struct
fb_info *info = private;
390
struct fbcon_ops *ops = info->fbcon_par;
391 struct display *p;
392 struct vc_data *vc = NULL;
393 int
c;
394 int mode;
395
396 acquire_console_sem();
397 if (ops && ops->currcon
!= -1)
398 vc = vc_cons[ops->currcon].d;
399
400 if (!vc || !CON_IS_VISIBLE(vc) ||
401 registered_fb[con2fb_map[vc->vc_num]] != info ||
402 vc->vc_deccm
!= 1) {
403 release_console_sem();
404 return;
405 }
406
407 p = &fb_display[vc->vc_num];
408
c = scr_readw((u16 *) vc->vc_pos);
409 mode =
(!ops->cursor_flash || ops->cursor_state.enable) ?
410
CM_ERASE : CM_DRAW;
411 ops->cursor(vc, info, mode,
softback_lines
0cc">, get_color(vc, info, c, 1),
412
get_color(vc, info, c, 0));
413
release_console_sem();
414 #endif
415 }
同样的方法将函数static void fbcon_cursor(struct vc_data *vc, int mode)用空函数替换如下
|
这样制作的logo就完美了。