嵌入式Linux开发,更换内核kernel开机画面LOGO—左上角小企鹅图标(分辨率为80*80)
发布日期:2021-05-10 06:26:31 浏览次数:17 分类:技术文章

本文共 1362 字,大约阅读时间需要 4 分钟。

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

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

sudo apt-get install netpbm

二、制作 logo 图片。

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

pngtopnm linuxlogo.png >linuxlogo.pnm //将png转换成pnmpnmquant 224 linuxlogo.pnm> linuxlogo224.pnm //将pnm图片的颜色数限制在224pnmtoplainpnm 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/logocd drivers/video/logorm 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);

 

转载地址:https://blog.csdn.net/weixin_43782998/article/details/112283499 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:嵌入式Linux开发,去掉内核kernel开机画面logo屏幕上的光标
下一篇:单个UART,可选RS485或RS232接口,通道切换芯片选型-ET7222U

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年09月03日 02时32分59秒