Linux Boot logo 图片的修改

问题

项目中的显示模块的BSP基本能够正常工作之后,需要将Linux的启动图片替换成自己公司的Logo图片。
预期很快就能移植成功的,可是结果还是花了不少时间。网上其人人可能也会遇到类似问题,因此在此记录,方便自己和他人改动图片时查阅。
调试时条件:
1,板子启动时已经正常显示小企鹅图片;
2,Linux正常启动后,通过dd命令能够显示图片到LCD上,即LCD的驱动已经工作正常。

操作步骤

1,查阅Linux Logo替换解决办法,主要参考这两篇文章。
http://www.armadeus.org/wiki/index.php?title=Linux_Boot_Logo
http://www.arm9board.net/wiki/index.php?title=Create_your_own_boot_logo

2,使用图片编辑器(paint.net),打开自己公司的logo图片,并根据LCD大小裁剪图片为800x600像素。保存为PNG文件,然后使用命令:

ppmquant 224 logo.tmp > logo_224.tmp
pnmnoraw logo_224.tmp > logo_linux_clut224.ppm
Copy logo_linux_clut224.ppm to Linux drivers/video/logo
rm  drivers/video/logo/logo_linux_clut224.c
rm  drivers/video/logo/logo_linux_clut224.o

拷贝之前,先备份文件logo_linux_clut224.ppm。
重新编译内核,在输出的编译信息中有:

 LOGO    drivers/video/logo/logo_linux_clut224.c
  CC      drivers/video/logo/logo_linux_clut224.o

证明自己的ppm文件已经是编译进入了内核。

拷贝内核到SD卡并上电后,发现LCD上无任何图片的输出,只有一个光标在LCD的左侧闪烁。

因为小企鹅能够正常显示,所以初步猜测是自己的图片制作的不对。
然后使用另外一组命令制作图片:

pngtopnm logo.png | ppmquant -fs223| pnmtoplainpnm > logo_linux_clut224.ppm
Copy logo_linux_clut224.ppm to Linux drivers/video/logo
rm  drivers/video/logo/logo_linux_clut224.c
rm  drivers/video/logo/logo_linux_clut22.o

(本人此时使用图片工具对图片进行了一些参数调整,记不起具体步骤和参数)。
这次,发现LCD上出现了自己的图片,不过颜色不对,像素点错位。
(下次还原这个图片,然后附上LCD的图片)。

3,和同事讨论后,可能的问题原因:
(1)图片制作依然不对;
(2)怀疑Linux显示Logo时调用的初始化函数和LCD driver的初始化函数不一样?

第一个原因很容易解决,我们可以使用图片工具直接打开ppm文件查看。
在linux下安装GIMP后,打开logo_linux_clut224.ppm,
(附图)
因此发现原因还是由于图片制作不对。

4,解决。
(1),为了清晰对比,本人首先在GIMP中打开了小企鹅的ppm,并获得了图片信息:
像素:80x80 pix;
分辨率: 72x72 ppi
然后本人重新制作了一个像素:80x80 pix,分辨率: 72x72 ppi的小图片,保存为ppm格式,直接覆盖文件logo_linux_clut224.ppm。
这次LCD正常显示图片。
(2),在GIMP中打开公司Logo图片,直接保存为ppm文件格式,重复上述步骤,编译时发现:

 LOGO    drivers/video/logo/logo_linux_clut224.c
drivers/video/logo/logo_linux_clut224.ppm: Binary PNM is not supported
Use pnmnoraw(1) to convert it to ASCII PNM
make[3]: *** [drivers/video/logo/logo_linux_clut224.c] Error 1

直接在命令行中操作:

 ppmquant  224 logo.ppm > linuxlogo.ppm

再次使用GIMP打开,保存为ascii格式的ppm文件。
重命名为logo_linux_clut224.ppm。
终于, 公司logo在LCD上正常显示出来。

结论

1.使用命令行进行boot logo图片的转换,有可能图片转换不正确。
因此需要使用工具如GMIP来打开查看具体的文件效果。
2,直接使用GMIP来编辑和保存图片能够保证图片效果;
3,可以对比小企鹅图片来制作自己的logo图片。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值