Linux内核开发-修改开机Logo


硬件平台:S5PV210

系统平台:Linux 2.6.32

Linux默认的系统开机Logo为一只小企鹅,分辨率为80x80,由drivers/video/logo/logo_linux_clut224.ppm生成。

这里我们需要修改开机logo图,而且不局限在80x80分辨率,如我们需要一副全屏的图时,我们可以用以下方法达成。

一、制作开机适当分辨率的ppm图片。

1.安装netpbm包,我们需要制作ppm的工具:pngtopnm ,pnmquant ,pnmtoplainpnm

2.装备一张适合LCD分辨率的png格式图片,如一张800x480,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修改。

相关内容