EZ-보드에서는 아래와 같이 부팅하는 과정에 따라 이미지를 크게 3단계로 나누어 출력할 수 있습니다.
- EZ-보드 전원을 켜게되면 제일 먼저 부트로더가 실행되고, 부트로더는 미리 등록되 이미지가 있다면 화면에 출력합니다.
- 부트로더 부팅 이후에 커널이 실해되면, 커널에 포함된 이미지가 커널에 의해 출력됩니다.
- 커널이 성공적으로 로딩되고 실행되면, 이후에 에플레케이션이 실행되는데, 에플리케이션에서 이미지를 출력한다면, 이 이미지가 마지막 단계의 출력 이미지가 되겠습니다.
정리해 보면 아래와 같은 순서로 이미지를 출력할 수 있고, 단계에 따라 출력되는 이미지는 유용하게 활용할 수 있습니다.
커널에서 출력하는 이미지에 대해서는 이미 (주)FALINUX의 장형기팀장님께서 정리해서 올려 주셨습니다.
또한 에플리케이션의 이미지는 개발자가 어떻게 구성하느냐에 따르므로, 실제 문제가 되는 부분은 부트로더에서 출력되는 이미지 부분입니다. 그런데 쉽지 않는 것에 커널처럼 이미지를 변경할 때마다 부트로더를 매번 컴파일하는 것은 커널 보다는 쉬운 일이 아니어서, 컴파일을 해서 부트로더를 새로 만드는 것 보다는 부트로더 환경설정에서 환경 값을 지정하듯 로고 이미지도 등록해서 출력하는 것이 편합니다.
다행히도 최근에 (주)FALINUX에서 새로운 버전의 부트로더를 내 놓았는데, 앞서 말씀드린 바와 같이 편하고 싶게 부트로더에서 출력할 이미지를 등록할 수 있습니다. 2009년 3월 5일에 새로 버전업된 부트로더의 셋업메뉴입니다. 참고로 아래의 내용은 EZ-AU1200보드의 내용입니다.
EZBOOT>set ^^; 1) mac address : 00:00:00:00:00:00 2) local ip : 192.168.10.184 3) local netmask : 255.255.255.0 4) local gateway : 192.168.10.1 5) server ip : 192.168.10.101 6) zImage file name : zImage.ez-au1250 7) ram disk file name : ramdisk-1.11-16M-mipsel-base.gz 8) boot loader file name : ezboot.ez-au1250 9) logo image file name : logo.bmp 10) auto execute full name : 11) autoboot wait time : 3 12) copy ramdisk [Y/N] : Y 13) arm kernel arch number : 3001 14) nand part (B,C,L,K,R,A): 0,1,2,3,5,52 15) watchdog (sec, off=0) : 0 16) KCMD 1 : mem=96M 17) KCMD 2 : rd_start=0x80800000 rd_size=5M root=/dev/ram0 ramdisk=16384 18) KCMD 3 : console=ttyS0,115200 19) KCMD 4 : video=au1200fb:panel:2 20) KCMD 5 : 21) KCMD 6 : L) Load default LF) load KCMD2 root=flash LR) load KCMD2 root=ramdisk M) generlate Mac address S) Save to flash P) aPply & exit Q) Quit Select >>
9)번의 “Logo image file name” 은 잠시 후에 소개해 드릴 tfl 명령어에 사용될 정보로, tftp 서버에 있는 로고 이미지의 파일 이름입니다. tftp 를 이용하여 파일을 내려 받을 때 사용되므로 이 항목을 주의해야 겠습니다.
14)번은 NAND 플래시 메모리를 파일 시스템으로 파티션을 나눌 때 사용하는 파티션 나누기 정보로, 3번째 항목의 “L”이 로고 이미지를 저장할 파티션의 크기를 지정합니다. 위의 설정에서는 넉넉히 2mega bytes로 지정했습니다.
19)번은 EZ-보드와 연결된 LCD패널의 크기와 해상도를 지정해 주는 것입니다. 부트로더에서 이미지를 출력하기 위해서는 반드시 필요한 정보입니다.
EZ-BOOT 환경설정이 끝났으므로 이제 부트로더에서 나누어준 NAND 파티션에 로고 이미지를 전송하여 저장하면 되겠습니다. 로고 이미지를 전송하기 위해 새로운 EZ-BOOT 명령어가 추가되었습니다.
- TFL : tftp 프로토콜을 이용하여 로고 이미지를 전송합니다.
- ZFL : zmodem을 이용하여 로고 이미지를 전송합니다.
로고로 사용할 이미지는 24bit Bitmap이어야 합니다. 저는 tfl 명령을 이용했습니다. zmodem보드는 빠르기 때문이죠.
EZBOOT>tfl receive logo.bmp tx ARP rx ARP HOST MAC : 02:FF:09:18:BB:D2 HOST IP : 192.168.10.101 LOCAL IP : 192.168.10.184 size = 921656 ...write 921656 complete ...verify complete EZBOOT>rst
이제 이후로 보드의 전원을 켜거나 리부팅하면 바로 저장한 로고 이미지가 출력됩니다.
그리고 잠시 후에 커널이 부팅되면 커널과 함께 컴파일된 이미지가 출력됩니다.
커널까지 모두 부팅이되면 애플리케이션을 실행할 수 있므로, 이후에는 실행되는 애플리케이션의 화면이 출력됩니다.
아직 FALINUX에서 판매되는 제품인데도 불구하고 더 이상의 지원이 없는것인지요?