一、制作.ppm文件
默认的logo文件是 drivers/video/logo/logo_linux_clut224.ppm,因此制作一个新.ppm文件,覆盖它即可。
一般的linux发行版系统都已自带netpbm-10.35-6.fc6工具。最好把你的图片做为png格式,做以下步骤:
pngtopnm logo.png>logo.pnm #转换png成pnm格式
pnmquant 224 logo.pnm > logo_224.pnm #转换像素数为224
pnmtoplainpnm logo_224.pnm > logo_linux_clut224.ppm #转换二进制的pnm格式为文本的ppm格式
cp logo_linux_clut224.ppm kernel/drivers/video/logo/logo_linux_clut224.ppm #覆盖原有文件
做完以上这些步骤,重新编译内核,烧入板上,可以看到logo已改,但如果是mini2440 w35屏的话,图片显示会有点不兼容。
因此还要继续下面的修改
二、修改led显示驱动
在/arch/arm/mach-s3c2440/mach-mini2440.c文件中
#elif defined(CONFIG_FB_S3C2410_N480272)
#define LCD_WIDTH 480
#define LCD_HEIGHT 272
#define LCD_PIXCLOCK 100000
#define LCD_RIGHT_MARGIN 36
#define LCD_LEFT_MARGIN 19
#define LCD_HSYNC_LEN 5
#define LCD_UPPER_MARGIN 1
#define LCD_LOWER_MARGIN 5
#define LCD_VSYNC_LEN 1
//加入以下w35屏配制的代码
#elif defined(CONFIG_FB_S3C2410_W320240)
#define LCD_WIDTH 320
#define LCD_HEIGHT 240
#define LCD_PIXCLOCK 70000
#define LCD_RIGHT_MARGIN 68
#define LCD_LEFT_MARGIN 66
#define LCD_HSYNC_LEN 4
#define LCD_UPPER_MARGIN 4
#define LCD_LOWER_MARGIN 4
#define LCD_VSYNC_LEN 9
#define LCD_CON5 (S3C2410_LCDCON5_FRM565 |S3C2410_LCDCON5_INVVDEN | S3C2410_LCDCON5_INVVFRAME | S3C2410_LCDCON5_INVVLINE| S3C2410_LCDCON5_INVVCLK | S3C2410_LCDCON5_HWSWP)
打开 drivers/video/Kconfig
config FB_S3C2410_T240320
boolean "3.5 inch 240X320 Toppoly LCD"
depends on FB_S3C2410
help
3.5 inch 240X320 Toppoly LCD
//加入以下w35kconfig的配制菜单
configFB_S3C2410_W320240
boolean "3.5 inch 320x240 W35i LCD"
depends on FB_S3C2410
help
3.5 inch 320x240 W35i LCD
命令行输入make menuconfig
在
Device Drivers --->
Graphics support --->
<*> Support for frame buffer devices --->
LCD select (3.5 inch 320x240 W35i LCD) --->
里面选择你刚才增加的w35屏配制
三、去除开机logo待机光标
如果你发现logo左下角会有闪烁的光标,可以再看下面的步骤
在drivers/video/console/fbcon.c文件中将static void fb_flashcursor(void *private)和 static void fbcon_cursor(struct vc_data *vc, int mode)的内容
注释掉