本文转载自:http://blog.csdn.net/hunanchenxingyu/article/details/40992947

1-1、制作logo的方法:
 首先选择一个自己喜欢的图片,png 或是bmp格式,这里选用这两个格式作为说明,
  然后将该图片传入到装有Linux PC比如(ubuntu),按照以下顺序你就可以制作一个你喜欢logo
  你必须安装以下的工具(pngtopnm,pnmquant,pnmtoplainpnm)
   ubuntu中这样安装:     apt-get install netpbm
$ pngtopnm linuxlogo.png > linuxlogo.pnm 
$ pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm 
$ pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm

或者

$bmptoppm pic.bmp > temp1.ppm //生成ppm
$ppmquant 224 temp1.ppm > temp2.ppm //转换成224色彩
$pnmnoraw temp2.ppm > linuxlogo224.ppm //转换成ascii格局

如许您制作的logo就已经胜利了,将linuxlogo224.ppm 
拷贝到/drivers/video/logo白件夹中的依据您的平台详细利用的哪个logo进行命名,
这里使用的是 logo_linux_clut224.ppm 那么替换这个即可,这里注意图片的大小对kernel image大小的影响。
然后编译kernel即可。
  
1-2、配置kernel的logo选项
 在内核路径下执行make menuconfig(make xconfig)
 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的左下角有一个闪动的光标,接下来我们说说如何将这个光标去除。

2-1、如何将开机logo中的光标去除
 在内核的当前目录进入到drivers/video/console/fbcon.c文件
 将static void fb_flashcursor(void *private)和static void fbcon_cursor(struct vc_data *vc, int mode)制成空函数如下

static void fb_flashcursor(void *private)

{

.................

}

static void fb_flashcursor(void *private)

{

#if 0

.................

#endif

}

另外:

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

......................

}

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

#if 0

#endif

}

2-2、第二种方式:

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);
 
光标成功禁止。

*****************************************************************************

可以肯定的是这两种方法都没有深究下去,对于第一种如果我的logo是一个屏分辨率的logo那么启动到logo时就是黑屏,屏显示被翻页了,并且在进入到filesystem后仍然显示鼠标,第二种问题更多,需要修改的地方很多,一般都与 soft_cursor()有关;

那么如何实现呢?唯有从源头查起,继续。。。。。

修改linux内核的启动logo和禁用启动光标【转】的更多相关文章

  1. 修改linux内核启动顺序

    修改linux内核启动顺序 # 修改内核启动顺序x86_64 centos:cat /boot/grub2/grub.cfg |grep "menuentry" grub2-set ...

  2. 修改Linux内核参数提高Nginx服务器并发性能

    当linux下Nginx达到并发数很高,TCP TIME_WAIT套接字数量经常达到两.三万,这样服务器很容易被拖死.事实上,我们可以简单的通过修改Linux内核参数,可以减少Nginx服务器 的TI ...

  3. 修改Linux内核参数提高Nginx服务器在高的时候的性能

    并发 Linux下高并发的Nginx服务器,当TCP TIME_WAIT套接字数量经常达到两.三万,服务器很容易被拖死.通过修改Linux内核参数,可以减少Nginx服务器的TIME_WAIT套接字数 ...

  4. 修改linux内核启动logo及显示位置

    转载于:http://blog.chinaunix.net/uid-28458801-id-3484269.html 在此基础上我又添加了我的一些不同的地方,仅供参考 内核版本: 2.6.35.3 l ...

  5. 修改linux内核开机logo并居中全屏显示【转】

    本文转载自:http://blog.csdn.net/xuezhimeng2010/article/details/49299781 1.准备图片  使用ubuntu自带的绘图软件GIMP是最为快捷的 ...

  6. 修改Linux内核参数,减少TCP连接中的TIME-WAIT

    一台服务器CPU和内存资源额定有限的情况下,如何提高服务器的性能是作为系统运维的重要工作.要提高Linux系统下的负载能力,当网站发展起来之后,web连接数过多的问题就会日益明显.在节省成本的情况下, ...

  7. Linux 内核超时导致虚拟机无法正常启动

    问题描述 当 Linux 虚拟机启动时,通过串口输出或者启动日志, 观察到超时的报错.导致虚拟机无法正常启动和连接. 问题分析 常见的超时报错范例如下: 复制 INFO: task swapper:1 ...

  8. 修改linux内核加载顺序

    修改内核启动顺序:1.查看当前系统所有的内核# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/gr ...

  9. linux内核中默认logo的具体位置

    /driver/logo/... 以下这个目录下对应的是logo的设置

随机推荐

  1. .net core2.0 读取appsettings.json

    一.在start.up中添加注入 二.使用

  2. HttpWebRequest 知识点

    string Url = System.Configuration.ConfigurationManager.AppSettings["CallPaperInvoiceURL"]; ...

  3. linux 清空文件的几种方案

    之前要清理文件,都是简单粗暴的rm -rf log文件,最近,发现在某些环境下,是不能删除文件本省的,又必须要清理文件的内容信息,经过亲自实验,目测以下的几种方案是可行的,方案如下: 1.采用vi命令 ...

  4. dubbo之事件通知

    事件通知 在调用之前.调用之后.出现异常时,会触发 oninvoke.onreturn.onthrow 三个事件,可以配置当事件发生时,通知哪个类的哪个方法 1. 服务提供者与消费者共享服务接口 in ...

  5. 安卓系统使用摄像头API

    原文链接:定制自己的安卓Camera        参考链接:http://blog.csdn.net/tankai19880619/article/details/9075839           ...

  6. NOPI读取Word模板并保存

    安装NPOI 可以在 程序包管理器控制台中输入 PM> Install-Package NPOI 会下载最新版本NPOI ----------------------------引用了NPOI- ...

  7. Laravel -- windows apache .htaccess https 路由重写

    一: <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{SERVER_PORT} !^443 RewriteCond %{RE ...

  8. servlet 中文编码设置

    Tomcat服务器默认采用的ISO8859-1编码 产生的原因: 不同数据来源的编(解)码格式不同: 数据来源 默认编码格式 浏览器页面 GBK(可在浏览器页面右键切换) request(get) I ...

  9. 关于MySQL Server影响ASP.NET网站使用的问题:未能加载文件或程序集MySql.Web.v20

    最近开发的ASP.NET MVC 4网站,之前头头说如果遇到装过MySQL的机器就绕着走,还觉得奇怪 嘛,该来的迟早都会来 于是撞上了一台 启动网站再访问,总是出错,提示“未能加载文件或程序集”,名字 ...

  10. eas之树

    如何设置树的深度(即树总共有几级) // 设置树的深度为3,即树包括0.1.2三级结点 table.getTreeColumn().setDepth(3); 如何设置树的方向 树的方向包括两种:自上向 ...