一、默认LOGO及内核配置
内核配置LOGO显示需要选择 CONFIG_LOGO_LINUX_CLUT224 配置,IDO-EVB6Y09内核源码中默认已开启了LOGO显示的支持,默认为一只企鹅图片。如下图所示:

图片文件路径为: drivers\video\logo\logo_linux_clut224.ppm
二、图片格式转换
此处以一张png格式logo图片转换为例,将logo图片名称修改为 logo.png。

本文在 Ubuntu 环境下验证图片格式转换,将会用到 pngtopnm、ppmquant、pnmtoplainpnm工具,如果执行过程中提示没有这些工具则需要先安装软件包。
sudo apt install netpbm
依赖工具安装完后,即可执行命令将图片转换后为224 colors的ppm图片,转换命令如下:
pngtopnm logo.png | ppmquant -fs 224 | pnmtoplainpnm > logo_linux_clut224.ppm
其中 logo.png 为原始图片,logo_linux_clut224.ppm 为转换后的目标图片。
如果原始图片为bmp格式,可将命令变更为:
bmptopnm logo.png | ppmquant -fs 224 | pnmtoplainpnm > logo_linux_clut224.ppm
三、图片替换及内核编译
将转换后的图片 logo_linux_clut224.ppm 文件替换内核源码的 drivers\video\logo\logo_linux_clut224.ppm。
pnmtologo := scripts/pnmtologo
$(obj)/%_clut224.c: $(src)/%_clut224.ppm $(pnmtologo) FORCE
$(call if_changed,logo)
上面代码块为 drivers\video\logo\Makefile 中 ppm 文件编译转换语句,内核编译时会调用源码路径下的 scripts/pnmtologo 工具将 ppm 文件转换为 logo_linux_clut224.c ,logo_linux_clut224.c 文件中包含了图片类型、长宽和图片数据等信息。在重新编译内核时需要删除上一次 drivers\video\logo\ 目录下编译产生的 logo_linux_clut224.o 和 logo_linux_clut224.c 文件,或者执行 make ARCH=arm clean ,再重新执行 make 编译,之后便可获得一份包含新logo的内核镜像。
四、更新内核验证
新的内核镜像文件烧录只IDO-EVB6Y09开发板后,新的logo显示效果如下:



917

被折叠的 条评论
为什么被折叠?



