九鼎创展论坛中文版English
登录 | 立即注册 设为首页收藏本站 切换到宽版
查看: 383|回复: 8

Qt+linux如何修改开机logo

[复制链接]
发表于 2020-9-10 12:05:17 | 显示全部楼层 |阅读模式
现在开机logo分为uboot的logo,和内核logo,现在好像都是用logo.bmp,在out/target/product/x6818/boot/logo.bmp,如何修改uboot的logo和和内核的logo不一样,不用同一张logo.bmp.尝试先后编译不同图片的logo.bmp的uboot和内核,烧写进去uboot的logo还是和内核的logo一样。
回复

使用道具 举报

发表于 2020-9-10 16:20:05 | 显示全部楼层
6818的板子?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-10 16:21:58 | 显示全部楼层

x6818,跑的Qt+linux系统
回复 支持 反对

使用道具 举报

发表于 2020-9-10 18:16:27 | 显示全部楼层
nankon 发表于 2020-9-10 16:21
x6818,跑的Qt+linux系统

你的意思是用别的图片来更换logo.bmp图片,编译过后显示的还是原来的logo,还有你添加图片但是uboot和内核的图片还是只显示一个是吧?
要是使得uboot和内核的logo显示不一样,应该是要在源码里更改一下的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-10 21:02:08 | 显示全部楼层
发现内核logo是copy logo from previous FB。我的办法进入内核目录/kernel/ makemenuconfig 进入Device Drivers->Graphics  support->Bootup logo ,默认选择copy logo from previous FB,我修改只选择Standard 224-color Linux logo.自己做了logo_linux_clut224.ppm图片,删除了logo_linux_clut224.c和.o,重新编译内核,烧写还是不行。追踪/kernel/driver/video/logo/logo.c里的fb_find_logo函数,添加打印printk,发现这个函数没有运行,没有执行到这里。继续往上追踪/kernel/driver/video/fbmem.c的fb_prepare_logo函数,还是没有运行。只能继续往上追踪。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-10 22:56:11 | 显示全部楼层
本帖最后由 nankon 于 2020-9-10 23:01 编辑

drivers/video/console/fbcon.c中fb_console_init初始化函数没有运行,https://blog.csdn.net/luoshengyang/article/details/7691321/,在/drivers/video/Kconfig,后面有一句
if VT
source "drivers/video/console/Kconfig"
endif   这个VT判断应该是0,不知道这个VT是什么?只要把这个VT置为1,这样就会有Device Drivers->Graphics support->Console display driver support,就可以选择FrameBuffer Console support。应该就是显示logo了,/drivers/video/console/fbcon.c里调用fb_preprere_logo(它调用drivers/video/logo/logo.c函数fb_find_logo),我现在追踪至此,不知道版主知不知道这个VT。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-11 11:15:52 | 显示全部楼层
自己来结帖,VT是Virtual terminal在Device Drivers-->Character devices-->Virtual terminal,[*]选择后(默认有几个[*]是默认选择的,编译后发现内核启动不了,需要[ ]掉),Device Drivers--->Graphics support出现了Console display driver support,[*]选择Framebuffer Console support.这样就可以看到执行Drivers/video/logo/logo.c里的fb_find_logo函数了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-11 16:42:04 | 显示全部楼层
/driver/video/logo/logo_linux_clut224.ppm,如果是1024x600,会提示 disable boot-logo (boot-logo bigger than screen) ,把logo图片高度改成592,592/16=37,整数,至此内核开机logo添加完成。
回复 支持 反对

使用道具 举报

发表于 2020-9-15 14:52:25 | 显示全部楼层
赞一个   
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳市九鼎创展科技官方论坛 ( 粤ICP备11028681号-2  

GMT+8, 2020-10-26 20:06 , Processed in 0.019678 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表