본문 바로가기

Linux

PXA320 보드에 로고 이미지 바꾸기 ~~


1) logo.bmp 파일변환 명령어 :

bmptoppm logo.bmp |ppmquant -fs 223 | pnmtoplainpnm >
logo_tae_clut224.ppm

 

2) /kernel/drivers/video/logo/logo_tae_clut224.ppm 파일추가

 

3) kernel/.config 파일 수정
-> # CONFIG_LOGO_XHYPER320TKU_CLUT224 is not set
   CONFIG_LOGO_TAE_CLUT224=y

 

4) /kernel/drivers/video/logo/Kconfig 파일 수정

config LOGO_TAE_CLUT224
 bool "tae yoen linux logo"
 depends on LOGO
 default y

 

5) /kernel/drivers/video/logo/Makefile 파일 수정

obj-$(CONFIG_LOGO_TAE_CLUT224) += logo_tae_clut224.o

 

6) /kernel/drivers/video/logo/logo.c 파일 수정

extern const struct linux_logo logo_tae_clut224;

#ifdef CONFIG_LOGO_TAE_CLUT224
 logo=&logo_tae_clut224;
#endif

 

7) 부팅시 로고를 3번 가운데중간으로 출력하기 위해 수정

이미지크기가 width = 266 height = 399 -> 800x480으로 3번출력

kernel/drivers/video/fbmem.c

 

fb_show_logo함수내를 수정

image.dy = 50;

for(x=0;x<num_online_cpus()*(fb_logo.logo->width+8)&& x < info->var.xres-fb_logo.logo->width;x+=(fb_logo.logo->width+8))
{
     image.dx = x; // 왼쪽
     info->fbops->fb_imageblit(info,&image);
}

for(x=0;x<num_online_cpus()*(fb_logo.logo->width+8)&& x < info->var.xres-fb_logo.logo->width;x+=(fb_logo.logo->width+8))
{
     image.dx = x + 267; // 가운데
     info->fbops->fb_imageblit(info,&image);
}

for(x=0;x<num_online_cpus()*(fb_logo.logo->width+8)&& x < info->var.xres-fb_logo.logo->width;x+=(fb_logo.logo->width+8))
{
     image.dx = x + 533; // 오른쪽
     info->fbops->fb_imageblit(info,&image);
}