본문 바로가기

LINUX/DEBIAN계열

XHybus320보드 부팅 이미지 바꾸기

부팅 이미지를 바꾸고자 한다면 우리는 zImage를 다시 만들어줘야 한다.
우리가 받은 커널이미지 소스를 보러가자~!
linux 디렉토리(커널 소스 디렉토리의 최상위 디렉토리)에서
$make memuconfig
명령으로 옵션들을 보러 가보자.

 Device Drivers ---> Graphics support ---> Logo configuration 에 들어가 보면 다음 그림과 같이
부팅시 나오는 로고 이미지를 선택할 수 있게 되어 있다.

우리는 이곳에 우리가 원하는 로고를 넣어 보자~!

로고를 넣기위해서 넣고자 하는 그림파일을 구하자~!
크기는 800*480 보자 작거나 같은 그림으로 준비하자.
(그림파일의 크기를 고려해서 jpg  또는 png 파일로 준비하자.)

준비한 그림의 이름이 logo.png라고 하자.  
이 그림을 logo에 추가 시켜기 위해서 우리는 logo그림들이 있는 디렉토리를 알아야 한다.
그 디렉토리는 linux\drivers\video\logo\  디렉토리 이다. 

logo디렉토리 안으로 logo.png를 옮겨 놓자.
그런데 그 디렉토리 안에는  Kconfig Makefile logo.c 파일과 각족 .ppm 파일들이 있다.

어디를 뒤져봐고 전혀 우리가 알고 있는 그림파일의 확장자명은 볼수 없다.
ppm 이 바로 logo에서 사용되는 그림 파일인 것이다.

이 ppm 파일을 만들기 위해서 우리는 약간의 작업이 필요하다.

우리가 갖고 있는 그림파일을 ppm으로 만들기위해서는 툴이 필요하다.
# apt-get install  netpbm 명령으로 툴 받아주자. (Fedora 는 # yum install netpbm-progs)

 위와 같은 방법으로 netpbm이 잘 깔렸는지 확인해 볼수 있다.
혹은 pngto 만 치고서 tab키를 눌렀을때 pntopnm으로 명령어가 완료된다면 설치는 잘 된 것이다^^

 이제 우리가 받아놓은 logo.png파일을 ppm으로 바꿔볼 것이다.
다음의 3명령어를 사용하면 잘 바뀐다.
$ pngtopnm logo.png | pnmtoplainpnm > img800*480.ppm
$ pnmquant -fs 223 img800*480.ppm > img800*480_256.ppm
$ pnmnoraw image800*480_256.ppm > logo_jason_clut224.ppm
 

위의 명령을 쓰면 결과적으로 우리는 logo_jason_clut224.ppm 파일이 생긴다.
이때 jason대신에 다른 이름을 사용해줘도 좋다!!

이제 그림파일을 준비 했는데 그렇다고해서 자동으로 이 파일이 추가되는 것은 아니다.
make menuconfig 로 봤을때 이 녀석이 보이려면 Kconfig 파일에 반영해줘야 한다.
아래의 그림과 같이 작성을 해준다.



그림의 내용을 보면...
bool 뒤에 " " 사이에 적힌 글이 바로 make menuconfig에 반영되는 부분이다.
??? config
??? depends on
??? default y

이제 Makefile도 손을 대주자.




그리고 logo.c 파일의 내용도 다음과 같이 바꿔준다.




이제 menuconfig의 로 들어가보면 
#make menuconfig
Kconfig 파일에서 bool 뒤에 " " 사이에 적은 것이 추가된다.

아래의 그림의 경우 내가 쓴 "224-color JENUX Linux logo" 가 Logo configuration 의 맨 아래에 추가되어 있는 것을 볼 수 있다.
<<<Before add logo Iamge>>>


<<<Before add logo Iamge>>>