关键词:Android linux 开机logo 开机动画
平台信息:
内核:linux3.0.68
系统:android/android5.1
平台:tiny4412
作者:庄泽彬(欢迎转载,请注明作者)
邮箱:[email protected]
摘要:最近晚上回到宿舍有点无聊,搞一下打发时间,如有不对之处欢迎指点。
一、
1、首先讲解一下如何修改Android系统的开机的第一幅logo
首先要让内核支持开机显示Logo:
make menuconfig选中这三项
2、首先我们要明白的一点就是:内核镜像无法存储图片格式的文件,只能将图片转化为数组,然后将数组编译进内核 所以按照相应的工具。
2.1 sudo apt-get install netpbm 转化成ppm格式图片所需要的工具
2.2 sudo apt-get install imagemagick 将bmp格式的图片转化成png以及调整图片大小的工具。
2.3 现在开始动手准备一张png格式的图片。
0、convert -resize 800x480 logo.png logo-800-480.png //根据屏幕的大小调整,我购买的开发板屏幕的大小为800*480 1、pngtopnm logo.png > logo_linux.pnm //转成pnm格式 2、pnmquant 224 logo_linux.pnm > logo_linux_clut224_formal.pnm //转成224格式的图片 3、pnmtoplainpnm logo_linux_clut224_formal.pnm > logo_linux_clut224.ppm //转成ppm格式 放到
2.4 我们在内核的make menuconfig当中添加一个选项当选中的时候才编译自己想要的图片进内核
2.4.1 重命名转换之后的图片,cp logo_linux_clut224.ppm logo_zzb_clut224.ppm
2.4.2 拷贝到对应的目录:cp /home/book/my_test/logo/logo-nexll/logo_zzb_clut224.ppm /work/linux-3.0.86/drivers/video/logo 要根据自己的linux源码目录去拷贝.
2.4.3 修改driver/video/logo/目录下的Makefile添加如下内容
obj-$(CONFIG_LOGO_ZZB_CLUT224) += logo_zzb_clut224.o
2.4.4 修改driver/video/logo/目录下的Kconfig添加如下内核
config LOGO_ZZB_CLUT224 bool "ZhuangZeBin 224-color Linux logo" default n
2.4.5 修改修改driver/video/logo/目录下的logo.c文件添加如下内容
70 #ifdef CONFIG_LOGO_ZZB_CLUT224 71 /* Generic Linux logo */ 72 logo = &logo_zzb_clut224; 73 #endif
2.4.6 修改修改vim include/linux/linux_logo.h文件添加如下内容
extern const struct linux_logo logo_zzb_clut224;
2.4.7 重新配置内核
2.4.8 重新编译内核make zImage -j2
2.4.9 实验结果:现在搞定了开机的第一幅图片
3、对于bmp格式的图片修改的方式跟上面的方式一样只是对图片的处理多了一步,在开始进行上面操作的时候先执行 convert logo.bmp logo_linux.png 将图片的格式进行转换,转换成png格式。后面的操作跟前面的一模一样。
附上一张对bmp图片图片处理之后tiny4412开发板显示的结果: