快速业务通道

修改linux内核logo

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-30

/opt/s5pv210/kernel/drivers/video/logo

我用的是GIMP把PNG图片改成224色保存(打开GIMP,选图片,画像-模式-索引-224色—保存—ASCII,OK)

在到存放图片目录执行

pngtopnm default_wallpaper.png >logo_linux_clut224.pnm
pnmtoplainpnm logo_linux_clut224.pnm > logo_linux_clut224.ppm

将logo_linux_clut224.ppm放到linux-2.6.29/drivers/video/logo,
删除logo_linux_clut224.c和logo_linux_clut224.o
然后make zImage就可以了.

linux-2.6.29/drivers/video/fbmem.c
fb_do_show_logo函数:
393 static void fb_do_show_logo(struct fb_info *info, struct fb_image *image,
394 int rotate, unsigned int num)
395 {
396 unsigned int x;
397
398 int xoff,yoff;
399 xoff=(info->var.xres - num*fb_logo.logo->width 8)>>1;
400 yoff=(info->var.yres - num*fb_logo.logo->height 8)>>1;
401
402 if (rotate == FB_ROTATE_UR) {
403 for (x = 0;
404 x < num && image->dx image->width <= info->var.xres;
405 x ) {
406 image->dx = xoff;
407 image->dy = yoff;
408 info->fbops->fb_imageblit(info, image);
409 image->dy = image->height 8;
上述修改后有可能不能显示,解决办法修改显示logo的高度.
drivers/video/console/fbcon.c
fbcon_prepare_logo函数:
修改logo_height = fb_prepare_logo(info, ops->rotate);
logo_height = fb_prepare_logo(info, ops->rotate)+200;

本文出自 “LINUX && ANDROID” 博客,请务必保留此出处http://tianxiaolin.blog.51cto.com/1810342/602185

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号