硬件平台: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修改。