ok335XD修改内核启动时显示小企鹅LOGO的方法

飞凌335XD开发板上替换开机logo为自己的图片的方法
主要分三部分:

  1. 安装netpbm ,它是一个图形处理工具,可以在几种图形格式之间转换。
    安装命令 sudo apt-get install netpbm
    准备一张需要替换的图片格式最好是png的
    转换图片的格式:我的图片是 dasdasaa.png 转换后 logo_linux_clut224.ppm。
    图片的大小修改:系统的企鹅大小80x80像素,默认左上角显示,如果添加的图片需要修改像素可以使用window下的画图工具去修改
    在这里插入图片描述
  2. 制作ppm格式的图片
  pngtopnm dasdasaa.png > logo_linux_clut2241.pnm
  pnmquant 224 logo_linux_clut2241.pnm > logo_linux_clut224.pnm
  pnmtoplainpnm logo_linux_clut224.pnm > logo_linux_clut224.ppm

在这里插入图片描述
拷贝自定义的图片到内核的该目录:
在这里插入图片描述
3. 编译内核,生成uImage文件开机图片为替换的图片
在这里插入图片描述

如果需要将图片居中显示则需要修改部分代码:
修改源码/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);

修改源码/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);
修改后编译内核则生成的uImage开机logo居中显示

如果要全屏显示,将png图片的像素修改为和当前的屏幕像素相同即可。。。

还有一种添加方式不需要替换系统图片的文件名,将自定义图片拷贝到
linux_kernel/driver/video/logo目录下,是xxx.ppm格式就行。
然后参照:logo_linux_clut224修改几个文件:
include/linux/linux_logo.h
drivers/video/logo.c
修改Makefile
修改内核配置 make menuconfig ,再编译内核即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值