发博文
平空

http://blog.chinaunix.net/space.php?uid=26119896

天上不会掉馅饼   
个人资料
  • 博客访问:5675
  • 博文数量:61
  • 博客积分:788
  • 博客等级:军士长
  • 关注人气: 2
  • 注册时间:2011-08-01 15:41:51
订阅我的博客
  • 订阅
  • 订阅到鲜果
  • 订阅到抓虾
  • 订阅到Google
字体大小: 博文
分类: Linux系统相关


linux内核下使用的图片文件类型是pnmPPm格式的,所以在开始介绍修改linux内核启动LOGO之前,

1、先需要介绍一下怎么样设计自己开始logoppm图片,首先选择一张png格式的图片,使用如下命令确保你必须安装以下的工具(pngtopnm,pnmquant,pnmtoplainpnm)

如果没有安装,你可以使用sudo get-apt install netpbm命令来安装,另外你也可以使用Linux LOGO制作工具LogoMaker,可以通过如下站点下载http://www.arm9.com.cn/downloads.htm,这个站点很多的资源,强烈推荐。

$ pngtopnm linuxlogo.png > linuxlogo.pnm 

$ pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm 

$ pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm

或者

$bmptoppm linuxlog.bmp > temp1.ppm //生成ppm

$ppmquant 224 temp1.ppm > temp2.ppm  //转换成224颜色

$pnmnoraw temp2.ppm > linuxlog.ppm   //转换成ascii格式

这样你的logo就完全制作好了,接下来我们来看如何配置内核

修改目标:用自定义的ppm图片替代/drivers/video/logo/logo_linux_clut224.ppm

同时删除logo_linux_clut224.c logo_linux_clut224.o文件这样才能使编译的使用logo_linux_clut224.ppm重新编译

2、配置logo选项

在内核路径下执行make menuconfigDevice Drivers --->Character devices ---Bootup logo

做好以上两个步骤,你就可以重新编译内核,这样你可以看到你自己制作的logo,你可以发现在logo的左上角有一个闪动的光标。

3、如何将开机logo中的光标去除

在内核的当前目录进入到drivers/video/console/fbcon.c文件,将static void fb_flashcursor(void *private)制成空函数如下,同样的方法将函数static void fbcon_cursor(struct vc_data *vc, int mode)用空函数替换如下:

   1304 static void fbcon_cursor(struct vc_data *vc, int mode)

   1305 { 

   1306 #if 0 //modify by yejj for clear cursor of lcdc

   1307 struct fb_info *info

4另一种禁止光标的方法:

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);

 

最后,修改好后都要进行make

make 出自己需要的包,如果是开发板,则有所不同,根据需要进行编译。

 

前一篇:BSP编译
亲,您还没有登录,请[登录][注册]后再进行评论