硬件平台:S5PV210
系统平台:Linux 2.6.32
Linux默认的系统开机Logo为一只小企鹅,分辨率为80×80,由drivers/video/logo/logo_linux_clut224.ppm生成。
这里我们需要修改开机logo图,而且不局限在80×80分辨率,如我们需要一副全屏的图时,我们可以用以下方法达成。
一、制作开机适当分辨率的ppm图片。
1.安装netpbm包,我们需要制作ppm的工具:pngtopnm ,pnmquant ,pnmtoplainpnm
2.装备一张适合LCD分辨率的png格式图片,如一张800×480,24bit的png图。
3.将png图片转成pnm
pngtopnm linux_iunin_logo.png > linux_iunin_logo.pnm
4.将pnm图片的颜色数限制在224色
pnmquant 224 linux_iunin_logo.pnm > logo_iunin_clut224.pnm
5.将pnm图片转换成我们需要的ppm
pnmtoplainpnm logo_iunin_clut224.pnm > logo_iunin_clut224.ppm
6.将logo_iunin_clut224.ppm移至drivers/video/logo目录。
二、在Kconfig中增加选项
drivers/video/logo/Kconfig
config LOGO_UM2703_CLUT224
bool “224-color IUNIN Android logo”
depends on IUNIN
default y
三、在Makefile中增加选项
obj-$(CONFIG_LOGO_IUNIN_CLUT224) += logo_iunin_clut224.o
四、在linux_logo.h中增加项:
include/linux/linux_logo.h
增加:extern const struct linux_logo logo_iunin_clut224;
五、在logo.c中增加项:
#ifdef CONFIG_LOGO_IUNIN_CLUT224
/* iunin Android logo */
logo = &logo_iunin_clut224;
#endif
六、重新运行make menuconfig,选择224-color IUNIN Android logo项,重新编译kernel。
经以上步骤,完成开机logo修改。