本文转载自:http://blog.csdn.net/xuezhimeng2010/article/details/49299781

1.准备图片
  使用ubuntu自带的绘图软件GIMP是最为快捷的方式,使用命令进行转换也可以,实际测试中用命令转换图片老提示错误,所以就用GIMP的方式处理了。具体流程如下:
(1)打开GIMP软件并加载图片资源(file->open),自己的原图片格式应该不限制,我的是bmp格式的。
(2)点击Image->mode->Indexed 并在弹出的选项框内设置Generate optimum palette下的Maximum number of colors:224 原值默认为255,点击Convert按钮。
(3)点击file->Export As,修改图片文件后缀为.ppm 点击保存后会弹出一个小的选项卡供选择数据格式,这里选择Ascii后保存。
(4)将新生成的图片文件重命名为logo_linux_clut224.ppm,并将其拷贝到内核源码中的/driver/video/logo/中,替换同名文件。删除logo_linux_clut224.c和logo_linux_clut224.o两个文件,重新编译后这个两个文件会自动生成。
  到这里图片已经准备完毕...
2.修改内核配置选项
  (1)Device Drivers --->
       Graphics support --->
          [*]Boot logo --->
             [*] Standard 224-color Linux logo
   支持kernel logo
  (2)Device Drivers --->
       Graphics support --->
         Console display driver support --->
            <*> Framebuffer Console support
   不选该项无法在屏幕上显示。
重新编译源码启动就是替换后的logo了,但是没有居中全屏显示。
3.居中全屏显示
  (1)修改源码/driver/video/fbmem.c中的fb_show_logo_line函数
    //image.dx=0;
    //image.dy=y;
    image.width = logo->width;
    image.heigh = logo->height;
  增加
   +image.dx = (info->var.xres / 2) - (image.width / 2);
   +image.dy = (info->var.yres / 2) - (image.height / 2);
  (2)修改源码/driver/video/console/fbcon.c中的fbcon_prepare_logo()函数
   在logo_height = fb_prepare_logo(info, ops->rotate);后增加下面一行代码
     +logo_height += (info->var.yres / 2) - (logo_height / 2);
经过以上方式重新编译内核启动就会看到修改的内核logo能够居中全屏显示了。

这时最左上角会显示一个闪烁的光标,如果设置了输出启动信息到LCD控制台,控制台信息会依次向下覆盖显示的LOGO。

http://blog.sina.com.cn/s/blog_afeaebf00101gdr5.html

http://blog.csdn.NET/sukhoi27smk/article/details/9848919

修改linux内核开机logo并居中全屏显示【转】的更多相关文章

  1. linux内核开机logo显示调试

    要使内核支持开机logo显示需要配置内核 配置如下: make menuconfig: Device Drivers  --->     Graphics support  --->    ...

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

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

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

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

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

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

  5. 修改u-boot的开机logo及显示过程【转】

    本文转载自;http://blog.csdn.net/voice_shen/article/details/6789424 [ u-boot: Git://git.denx.de/u-boot.git ...

  6. 修改linux内核启动顺序

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

  7. Linux 命令 - watch: 反复执行命令,全屏显示输出

    watch 命令周期性地执行命令,全屏显示输出.可以通过 watch 命令反复执行某一程序来监视它的输出变化. 命令格式 watch [-dhvt] [-n <seconds>] [--d ...

  8. 全屏显示网页FULLSCREEN API

    第一次看到应用 Fullscreen API 全屏显示网页,是 FaceBook 中的照片放大.作为一个比较新的 API,目前只有 Safari.Chrome 和 FireFox 三种浏览器支持该特性 ...

  9. 【温故而知新-Javascript】窗口效果 (全屏显示窗口、定时关闭窗口)

    1.全屏显示窗口 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

随机推荐

  1. [转]line-height1.5和line-height:150%的区别

    line-height1.5和line-height:150%的区别   一.区别 区别体现在子元素继承时,如下: 父元素设置line-height:1.5会直接继承给子元素,子元素根据自己的font ...

  2. html5与css3入门知识点精炼

    <meta name = "keywords" content="…………"/>(网页搜索时要输入的关键字) <meta name = &qu ...

  3. Django学习案例一(blog):五. 开发主页(博客列表展示)

    主页是一个“博客列表”页.博客要按发布时间的倒序来排列,每个博客都要包含标题.作者.分类.发布时间的显示(年-月-日 时:分)及节选的正文内容(前 100 个字).点击单独的博客可以进入其详情页. 1 ...

  4. Tinyxml2学习

    转自http://www.360doc.com/content/13/1223/16/3684846_339528825.shtml,尊重原文 什么是XML? XML全称EXtensible Mark ...

  5. 【sqli-labs】 less16 POST - Blind- Boolian/Time Based - Double quotes (基于bool型/时间延迟的双引号POST型盲注)

    ' or 1=1# -->失败 1" or 1=1# -->失败 1') or 1=1# -->失败 1") or 1=1# -->成功 判断为双引号变形注 ...

  6. HDU_1711_初识KMP算法

    Number Sequence Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  7. python tips:dict的key顺序

    python3.6+版本中,dict的键值保持插入有序. t = list(range(10)) b = t[:] d = dict(zip(t, b)) print(list(d.items())) ...

  8. 在Android 上运行 openCV ,并做灰度变化的一个例子

    OpenCVImageProcessing1. 导入Opencv的 androrid SDK灰度算法 OpenCVImageProcessing 导入opencv Jar包,配置OpenCVLibra ...

  9. ES6中的Symbol

    ---恢复内容开始--- Symbol 1.1 概述 保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突.这就是 ES6 引入Symbol的原因 在es6之前,JavaScript ...

  10. 拷贝构造和拷贝赋值、静态成员(static)、成员指针、操作符重载(day06)

    十七 拷贝构造和拷贝赋值 浅拷贝和深拷贝 )如果一个类中包含指针形式的成员变量,缺省的拷贝构造函数只是复制了指针变量的本身,而没有复制指针所指向的内容,这种拷贝方式称为浅拷贝. )浅拷贝将导致不同对象 ...