本文转载自: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. RabbitMQ 官方NET教程(三)【发布/订阅】

    上一篇博客中,我们实现了工作队列,并且我们的工作队列中的一个任务只会发给一个工作者,除非某个工作者未完成任务意外被杀死,会转发给另外的工作者.在这部分中,我们会做一些完全不同的事情 - 我们会向多个消 ...

  2. 表单校验插件(bootstrap-validator)

    表单校验插件(bootstrap-validator) 参考文档 http://blog.csdn.net/nazhidao/article/details/51542508 http://blog. ...

  3. Embedded之Makefile

    1 Header files The header files are empty, so you can create them with touch: $ touch a.h $ touch b. ...

  4. Matlab矩阵填充--Matlab interp2

    Matlab interp2 为Matlab的矩阵填充函数, 填充关系: x=1:11; y=1:13; x1=1:0.1:12; y1=1:0.1:14; [x2,y2]=meshgrid(x1,y ...

  5. 揭开jQuery的面纱

    简单地说,jQuery是一个优秀的JavaScript类库,也就是使用JavaScript面向对象的性质编写的一个JavaScript类的集合.jQuery究竟能为我们提供哪些功能呢?简单地说可以从七 ...

  6. js消息框

    <script> function del(obj, id) { layer.confirm('是否要删除信息!', { btn: ['确定', '取消'] }, function (in ...

  7. hexo搭建博客

    在使用hexo搭建个人博客的时候,修改.yml文件后出现错误:FATAL can not read a block mapping entry; a multiline key may not be ...

  8. Java设计模式之JDK动态代理原理

    动态代理核心源码实现public Object getProxy() { //jdk 动态代理的使用方式 return Proxy.newProxyInstance( this.getClass(). ...

  9. 【转载】使用 IntelliJ IDEA 新建一个 web项目

    IntelliJ IDEA 创建Web项目(全教程)   说明:IntelliJ IDEA 版本为14.JDK 版本为1.7tomcat 版本为apache-tomcat-7.0.70 注:在创建过程 ...

  10. 简单说基于JWT和appkey、sercurtyKey的SSO、身份认证方案

    环境介绍, 一个大的系统由多个子系统组成.典型地,假设有一个平台,其上接入了多个应用.则有几个常见的问题需要处理, 1.SSO(包括单个应用退出时,需要处理为整个系统退出): 2.平台跳转到应用.及应 ...