查看: 1363|回复: 0

[经验] 嵌入式学习-ElfBoard ELF 1-替换内核阶段企鹅logo的方法

[复制链接]

该用户从未签到

发表于 2023-11-7 10:26:23 | 显示全部楼层 |阅读模式
分享到:
本帖最后由 eefocus_3944881 于 2023-11-7 10:30 编辑

1.制作logo.png格式的图片

2.拷贝制作好的logo.png图片到work/linux-4.1.15-elf1/drivers/video/logo目录下

3.安装图形转换工具netpbm
elf@ubuntu:~$ sudo apt-get install netpbm

4.使用netpbm工具转换图片,执行以下命令
elf@ubuntu:~/work/linux-4.1.15-elf1$ pngtopnm logo.png > logo-linux.pnm
elf@ubuntu:~/work/linux-4.1.15-elf1$ pnmquant 224 logo-linux.pnm > logo-linux224.pnm
elf@ubuntu:~/work/linux-4.1.15-elf1$ pnmtoplainpnm logo-linux224.pnm > logo_linux_clut224.ppm
至此图片制作完成,下面是让图片正常显示的方法。

1.修改源码/drivers/video/fbdev/core/fbmem.c中的fb_show_logo_line函数
504行下面增加:
image.dx = (info->var.xres/2)-(image.width/2);
image.dy = (info->var.yres/2)-(image.height/2);
515行:fb_do_show_logo(info, &image, rotate, n);修改n为1
效果如下:
图片1.png

2.修改源码/drivers/video/console/fbcon.c中的fbcon_prepare_logo()函数
582行下面添加:
logo_height += (info->var.yres/2)-(logo_height/2);
效果如下:
图片2.png

3.编译内核
efl@ubuntu:~/work/linux-4.1.15-elf1$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
efl@ubuntu:~/work/linux-4.1.15-elf1$ make imx6ull_elf1_defconfig
efl@ubuntu:~/work/linux-4.1.15-elf1$ make zImage

4.将编译好的内核拷贝到开发板替换
root@ELF1:~# cp /run/media/sda1/zImage /run/media/mmcblk1p1/
root@ELF1:~# sync

5.断电,ELF 1开发板连接屏幕,上电,观察内核阶段已经正常显示前面制作的logo图片。
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条



手机版|小黑屋|与非网

GMT+8, 2024-11-18 02:55 , Processed in 0.124309 second(s), 16 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.