将企鹅的 Logo 换成自己喜欢的任意图片,或公司logo,方法如下。

一、在Ubuntu系统中,安装图形转换工具。

sudo apt-get install netpbm

二、制作 logo 图片。

准备一张 png 格式的图片,图片分辨率不能超过屏的分辨率。比如图片名为 linuxlogo.png,转换如下。

pngtopnm linuxlogo.png >linuxlogo.pnm //将png转换成pnm
pnmquant 224 linuxlogo.pnm> linuxlogo224.pnm //将pnm图片的颜色数限制在224
pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm //将pnm图片转换成最终的ppm

运行完上面的命令之后,生成的 linuxlogo224.ppm 文件,为所需要的文件。
三、替换。

将生成的 linuxlogo224.ppm 文件,替换掉 kernel/drivers/video/logo/logo_linux_clut224.ppm 文件。

四、内核配置。

配置如下。

以下配置根据自己的硬件作调整。

五、编译内核。

编译后,确定文件 kernel-3.2/drivers/video/logo/logo_linux_clut224.o 已更新,也可通过编译打印信息进行确认。

如果无法更新,删除已生成文件;或先直接删除已生成文件,再进行内核编译。删除如下:

#kernel/drivers/video/logo
cd drivers/video/logo
rm logo_linux_clut224.c logo_linux_clut224.o

六、烧写内核。

重新烧写内核,即可完成内核开机 logo 的更换。

注意事项:

图片名 linuxlogo.png 分辨率不能超过屏的分辨率,否则无法显示。在有些应用中,分辨率和屏一样也无法显示,可先采集屏的分辨率的一半进行测试。

附:让logo显示在屏幕中央(通过结构体获得屏幕大小数据)

logo居中,设置logo图片在屏幕中的位置,自发如下:

1、在 kernel-3.2/drivers/video/fbmem.c 文件中,找到"fb_show_logo_line"函数,将

image.dx = 0;
image.dy = y;

改为:

image.dx = (info->var.xres - logo->width) / 2; //logo显示的起始坐标x值
image.dy = (info->var.yres - logo->height) / 2;

info->var.xres和info->var.yres为屏幕分辨率大小,logo->width和logo->height为logo图片大小。

2、在 kernel-3.2/drivers/video/console/fbcon.c 文件中,找到“fbcon_prepare_logo”函数,在

logo_height = fb_prepare_logo(info, ops->rotate);

后面加上:

logo_height += (info->var.yres/2) - (logo_height/2);

嵌入式Linux开发,更换内核kernel开机画面LOGO—左上角小企鹅图标(分辨率为80*80)相关推荐

  1. 假设linux分配给u盘设备名是,嵌入式linux开发基础试卷-应用物理A答案

    试 卷 考试科目: 嵌入式 linux 开发基础 姓名: 试卷适用专业(班) : 09 应用物理 套别:A 套(√)B 套( ) 五 20 六 七 总计 100 考核方式:开卷( )闭卷(√) 了多达 ...

  2. arm linux 内核配置,嵌入式 Linux开发Kernel移植(二)——kernel内核配置和编译

    嵌入式 Linux开发Kernel移植(二)--kernel内核配置和编译 本文选择linux 2.6.35.7版本kernel进行实践. 一.linux kernel源码目录分析 Kbuild,Ke ...

  3. linux内核开机显示企鹅logo,批改linux内核kernel开机logo(小企鹅)

    修改linux内核kernel开机logo(小企鹅) 修改linux内核kernel的开机图片(原为小企鹅图片). 转载请注明出处:http://blog.csdn.net/wang_zheng_ka ...

  4. Linux内核启动去掉企鹅,修改linux内核kernel开机logo(小企鹅)

    修改linux内核kernel的开机图片(原为小企鹅图片). 转载请注明出处:http://blog.csdn.net/wang_zheng_kai 导航制导与控制实验室 2014年12月10日 本文 ...

  5. 嵌入式Linux开发,Ubuntu22下交叉编译内核报错: multiple definition of `yylloc‘; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0

    一.问题描述 嵌入式Linux开发,Ubuntu22下交叉编译内核报错: /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple ...

  6. Linux工控主板内核及开机画面的在线更新

    简述 英创公司的Linux工控主板从EM系列到ESM系列均提供了在线更新工具软件flash_opt,可用于在线更新内核以及开机画面,特别是其中开机画面的在线更新,英创Linux主板可以支持从320x2 ...

  7. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(一) 嵌入式Linux开发基本概念以及开发流程介绍

    文章目录 1.linux开发初了解 1.1 嵌入式Linux开发的基本概念 1.1.1关于Git的背景介绍 1.1.2关于repo的背景介绍 1.1 3 一些关于此背景知识的介绍 1.1.4关于Lin ...

  8. 嵌入式linux开发环境搭建(VMware16.0.0+Ubuntu16.04.3_X64)

    目录 一.安装VMware 1.VMware介绍 2.安装VMware16.0.0 二.安装ubuntu16.04.3 LTS 1.Ubuntu介绍 2.下载安装包iso 3.安装 四.新安装Ubun ...

  9. 第六、七章 嵌入式Linux开发

    第六.七章 嵌入式Linux开发 BIOS读取硬盘最前面512字节(MBR),MBR中只能存储一个OS的引导记录,如多系统则会出现问题 MBR包含部分或全部Bootloader及分区表 Bootloa ...

最新文章

  1. CentOS 6.5 部署 Horizon
  2. Cesium界面学习以及隐藏界面控件
  3. spring源码分析之cache注解
  4. 腾讯云使用Python发邮件
  5. Mac Os 安装使用 itchat
  6. Spring Bean的配置及常用属性
  7. 华为路由器远程登陆之ssh
  8. matplotlib之2010-2017年各季度国民生产总值散点图
  9. retina屏 适配问题
  10. Excel xlsx file; not supported
  11. ARPG角色扮演页游《明朝江湖》全套代码
  12. 今天,王坚正式把“杭州城市大脑”作为礼物献给世界...
  13. 多款AE字幕条模板动画
  14. Js高级单利模式理论模型
  15. 文字图片行内垂直居中对齐方法
  16. 如何解压 .lz4 后缀文件
  17. Order-Preserving Encoding(OPE 保序加密)
  18. aria2 txt导入_aria2 让下载提速
  19. LabVIEW编程LabVIEW开发WT210 WT230数字功率计例程与相关资料
  20. u盘插在电脑上灯亮没有反应_Win7系统插入U盘指示灯亮但电脑不显示的解决方法【图】...

热门文章

  1. 三种交换方式(电路交换,报文交换,分组交换)
  2. 美团产品/产品运营实习生面经
  3. 盛天网络获44家机构调研:未来公司电竞场景收入不会低于网吧时代
  4. C++ 祝福烟花小程序(源码) 团队接课设、毕设 zhao835231559@126.com
  5. Spark排序之SortBy
  6. linux的双核浏览器,一种Linux浏览器实现WebKit/IE双核无缝浏览系统及方法与流程...
  7. 100天精通Python(基础篇)——第17天:类属性和类方法
  8. 通过cmd连接数据库时报错协议适配器错误
  9. LabVIEW如何减少下一代测试系统中的硬件过时4
  10. vue创建项目报:Error: command failed: yarn