制作Linux内核开机Logo

一、前言

有关Linux开机Logo的制作,网上已经有很多例子了,方法都差不多。因为以前用的LCD屏幕分辨率为320*240,现在自己配置了一个480*640的竖屏当横屏用,为测试驱动是否配置成功,我选择用开机Logo来测试,回顾下下开机Logo的制作;当然在应用层,直接向frameBuffer中写一个0~255范围指定颜色的值也做测试也是OK的(前提LCD的接口是RGB的);

最初测试我用的240*320的图片,因为图片老版本机器都有,但开机的时候只显示了屏幕的四分之一,后来思考下显示四分之一就对了,如图:
制作Linux内核开机Logo
制作Linux内核开机Logo

二、测试

Linux_PC版本:ubuntu 12.04.5 LTS
开发板linux内核版本:2.6.28

  1. Linux_PC安装制图软件netpbm
    运行apt-get install netpbm命令
  2. 准备一张480*640的图片,放在相应的目录,我放在/opt下面的
    制作Linux内核开机Logo
  3. 三步指令制作
    制作Linux内核开机Logo
  4. 通过make menuconfig命令可以查看logo的配置
    Device Drivers —>
      Graphics support —>
         — Bootup logo
          [ ] Standard black and white Linux logo
          [ ] Standard 16-color Linux logo
          [ ] Standard 224-color Linux logo
          -*- Standard landscape 224-color Linux logo
    通过vim .config可以看到文本配置选项
  5. 然后进去drivers/video/logo目录下,查看logo.c源码
    制作Linux内核开机Logo
    再查看logo_linux_landscaped_clut224.c的源码,是一个很大的一维数组
    制作Linux内核开机Logo
    看说明,它是图片自动生成的。
    /*
    *DO NOT EDIT THIS FILE!
    *It_was_automatically_generated _from drivers/video/logo/logo_linux_landscaped_clut224.ppm
    *Linux logo logo_linux_landscaped_clut224
    */
    可以看到里面有个logo_linux_landscaped_clut224.ppm图片,用logo_1.ppm把它替换了,再编译烧写内核就算完成了。
    制作Linux内核开机Logo
    制作Linux内核开机Logo