Chinaunix首页 | 论坛 | 博客
  • 博客访问: 395746
  • 博文数量: 380
  • 博客积分: 75
  • 博客等级: 民兵
  • 技术积分: 1925
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-05 15:35
文章分类

全部博文(380)

文章存档

2014年(1)

2013年(2)

2012年(19)

2011年(358)

我的朋友

分类:

2011-09-26 21:59:37

原文地址:logo和屏幕光标 作者:edaworld

Linux默认开机LOGO一般都是80x80的小企鹅图标,有时候为了一些效果,希望在Linux启动过程中,全屏看到用户自定义的LOGO,这就需要为Linux增加新的LOGO

 

准备png图片

使用任何图片软件,制作一张自定义的开机图片,可以根据自己的液晶屏大小设定,png格式。如下以224色为例。

我使用了一张jylogo800480png图片。

 

转换成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

//ABING

//      if (err)

//              soft_cursor(info, &cursor);

 

光标成功禁止,图形界面正常启动。

 

 

 

 

其它版本内核可参考:

 

http://www.cnitblog.com/zouzheng/archive/2006/10/11/17877.html

阅读(594) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~