修改linux内核kernel开机logo(小企鹅)

修改linux内核kernel的开机图片(原为小企鹅图片)。

转载请注明出处:http://blog.csdn.net/wang_zheng_kai

导航制导与控制实验室 2014年12月10日

本文主要是介绍三部分内容:

1》如何制作linux内核所需要的开机图片(ppm格式);

2》修改开机图片的两种方法;

3》调试过程中的问题与技巧;

一、如何制作linux内核所需要的开机图片(ppm格式)

1》在ubuntu系统上安装netpdm,命令如下:

# sudo apt-get install netpdm

2》准备所需要的logo图片,图片的大小请参考开发板所使用的分辨率;

3》将我们准备好的logo(mylogo.png)转换成我们需要的图片格式:

# pngtopnm mylogo.png > my_linux_logo.pnm //将png转换成pnm

# pnmquant 224 my_linux_logo.pnm > my_linux_logo_224.pnm//将pnm图片的颜色数限制在224

# pnmtoplainpnm my_linux_logo_224.pnm > my_linux_logo_224.ppm//将pnm图片转换成最终的ppm

注:我调试的这个过程是基于png格式图片的转换过程,如果是其他格式的请转换成png或者是使用其他的命令进行转换。

二、修改开机图片的两种方法:

1、方法一:替换原有图片

直接替换linux_kernel/driver/video/logo/下的图片***,并确保替换的文件名前后一致。然后确保内核配置如下所示:

Device Drivers-->

Graphics Support-->

Bootop logo-->

[*]   Standard

224-color Linux logo

重新编译并烧录到开发板中,重启即可显示。

2、方法二:添加新的图片

1》将得到的my_linux_logo_224.ppm图片文件直接复制到linux_kernel/driver/video/logo目录下;

2》修改linux_kernel目录下的如下文件:

在include/linux/linux_logo.h添加

extern const struct linux_logo my_linux_logo_224;在drivers/video/logo.c添加:#ifdef CONFIG_LOGO_MY

/*MY LINUX LOGO*/

logo = &my_linux_logo_224;

#endif

3、修改Makefile:

添加obj-$(CONFIG_LOGO_MY)

+= my_linux_logo_224.o

4、修改Kconfig:

config LOGO_MY

bool "224-color my Linux logo"

default y

5、修改内核配置

Device Drivers-->

Graphics Support-->

Bootop logo-->

224-color my Linux logo

并取消[*] Standard

224-color Linux logo选项。

重新编译并烧录到开发板中,重启即可显示。

三、调试过程中的问题与技巧

我在调试过程中一直出现黑屏现象,主要是我的图片像素不正确,可以先找一个像素较小的图片来测试下图片是否成功,在制作与屏幕相对应像素的图片。

想对现实的图片进行居中显示、拉伸显示请修改driver/video/fbmem.c中的fb_show_logo_line函数和driver/video/console/fbcon.c中的fbcon_prepare_logo()函数。下面以居中显示为例子进行讲解:

例子:居中显示

(1)修改源码/driver/video/fbmem.c中的fb_show_logo_line函数。

//image.dx=0;

//image.dy=y;

image.width=logo->width;

image.height=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能够居中全屏显示了。

以后可能还会继续完善,谢谢。

linux内核开机显示企鹅logo,批改linux内核kernel开机logo(小企鹅)相关推荐

  1. linux开发板显示横向彩虹,给 Linux 终端的输出添加彩虹特效的命令

    原标题:给 Linux 终端的输出添加彩虹特效的命令 正文 如果认为Linux命令行很无聊并且没有任何乐趣,那么您错了,真实的Linux多么有趣和淘气. 在本文,我将介绍一个名为" lolc ...

  2. linux通过html显示图片,如何在Linux上将HTML页面转化成Png图片?

    将一个特定页面抓取为一张png图片的最简单的方法是使用CutyCapt,这是一种在Linux下的方便地将HTML网页转化成矢量图形和位图图像格式的命令行工具(比如,SVG, PDF, PS, PNG, ...

  3. linux分屏显示命令文件夹,Linux简易命令整理

    Linux简易入门 1. Linux 概述 1.11 Linux 是什么 1.2 虚拟机 1.3 centOs 2. Linux 基本知识 2.1 Linux基本常识 2.2 Linux 终端 3. ...

  4. linux系统可以显示中文输入法,2 Linux支持中文显示和中文拼音输入法(番外篇)...

    今天打开虚拟机 linux  本来要整理笔记 发现Linux不支持中文.修改了/etc/sysconfig/i18n也不好使. 后来我猜想是没有装中文语言包,上网一查果然是这样. 装语言包: 1找到r ...

  5. Linux命令行显示无效的命令,LINUX 命令ifconfig 无效

    在安装完成linux后,进入终端,输入命令行ifconfig,会提示bash: ifconfig: command not found.这是因为在我们的环境变量里,还没有设置完整变量.如果我们输入/s ...

  6. linux u盘显示只读文件,解决linux下U盘文件只读的问题

    1. 在终端运行如下命令,用于实时查看使用U盘时系统的状态. tail -f /var/log/syslog 2. 保留上一个工作窗口,另外打开一个,插入有只读文件系统故障的U盘 3. 观察第一个窗口 ...

  7. 联想服务器开机显示系统恢复选项,联想电脑win10系统开机时按哪个键进入一键还原模式...

    方法一: 在控制面板中打开"恢复"(大图标查看方式下). 点击[开始系统还原] 选择还原点 (1)系统还原会推荐一个最近的没有故障的还原点,建议选择.点击[下一步],再点击[完成] ...

  8. linux logo程序设计,Linux Logo 制作

    ubuntu下转换PPM: sudo get-apt install netpbm bmp图片使用bmptoppm.jpg,png,gif都有相应的topnm工具. $bmptoppm pic.bmp ...

  9. Linux Command date 显示时间

    Linux Command date 显示时间 文章目录 Linux Command date 显示时间 1. 简介 2. 参数 3. 日期格式 4. 实例 1. 简介 命令功能:date 可以用来显 ...

最新文章

  1. TQ2440平台上LCD驱动的移植
  2. [转]ELF文件结构简述
  3. 关于linux cp命令的一d参数
  4. c++primer 4th edithon 第324页的一个练习题(9.43和9.44)
  5. Python断言方法:assert
  6. java 用户线程如何修改界面内容_java 加入一个线程、创建有响应的用户界面 。 示例代码...
  7. 深入掌握JMS(五):实战Topic
  8. js中document.documentElement 和document.body 以及其属性 clientWidth等
  9. Django视图层:URL的反向解析(主路由include之namespace,子路由之name,模板标签{%url%},视图reverse()函数,反向解析示例,URL命名空间
  10. ps里面怎么插入流程图_流程图很难画?学会这3个方法,5分钟能绘制出好看又高级的流程图...
  11. php连接mysql执行sql语句_php+mysql 连接服务器、数据库以及执行SQL语句的类库
  12. react-native 打离线包
  13. python画正切函数_在matplotlib中绘制tan
  14. 期刊评价查询+机器人领域期刊排名
  15. 【构建更好的软件—TeamDev】上海道宁为您带来强大且富有洞察力的TeamDev产品及自定义解决方案
  16. HMDB: a large human motion database人类动作视频数据集介绍及百度云下载链接分享
  17. PASCAL VOC2012类型的数据集生成train.txt\val.txt等文件
  18. vuex的state数据丢失
  19. python可以用于dsp吗_将Python/Matlab移植到C和定点DSP处理器上-C也应该是定点的吗?...
  20. two RC chopper

热门文章

  1. JS Uncaught SyntaxError:Unexpected identifier异常报错原因及其解决方法
  2. 2022-2028年中国自动化设备市场研究及前瞻分析报告
  3. 2022-2028年成都餐饮业投资分析及前景预测报告
  4. 为什么神经网络的激活函数必须使用线性函数?
  5. 求字符串全排列 python实现
  6. debian10 ftp简单搭建
  7. Pytorch 多 GPU 并行处理机制
  8. LeetCode简单题之旋转字符串
  9. 新一代图像AI ISP技术
  10. 网路摄像头技术参数介绍