Linux Logo制作

一 Linux Logo制作
============================================================ 

【从制作logo到LCD显示或者VGA显示logo】
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进行命名,
由与我用的是RedHat linux,所以我取的名字为logo_linux_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, 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)用空函数替换如下

       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 


    文章出处:http://www.diybl.com/course/6_sy ... 0081213/153547.html


    【注意】:    
    Linux Logo制作工具 : LogoMaker.tgz 4.7MB 
    http://www.arm9.com.cn/downloads.htm
    LogoMakers可以让你十分方便地制作linux logo文件,它基于Fedora 9平台开发并使用。其使用方法十分简单,打开一个

    图形文件(Jpeg, bmp或者png格式),然后点转换按钮就可以了;它会固定输出文件名:logo_linux_clut224.ppm,该文件

    一般位于内核源代码目录kernel-src/drivers/video/logo中,替换之后再重新编译一下内核就可以看到你所喜爱的linux

    logo了。 
        注意:LogoMaker程序实际调用了netpbm工具组,因此要确保你的PC Linux系统安装了此工具,方可转换成功。


    输入logomaker的时候出现:
    错误信息:浮点数例外
    要用Fedora9,你肯定用的是redhat9

    二。boot 开机logo 制作
    1.用BMP编辑软件(例如:GIMP image editer)编辑图片,并保存为适当的格式(例如:R565)
    2.用BintoArray软件把BMP文件转换为数组*.h文件
    3.去掉前面70byte,后面的数据即为所需数据

    三。用xboot的方式来显示logo,例如在lk中就已经使用了(图片可以是任意格式)
    1.在linux下用GIMP IMAGE Editor打开文件。
    2.另存为c source code(*.c) --直接就导出为C可以使用的数组了
    3.使用xboot的函数显示此数组。--OK
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值