부트로더 버전 확인

이제 저희 회사에서 가장 많이 팔렸던 PXA255 프로세서 보드인 EZ-X5 시리얼 포팅입니다.


EZ-X5 부트로더를 한번 확인해 봅시다.
제 것은 이렇게 나왔습니다.


A013_010_boot_loader_version_580.png

[A013_010_boot_loader_version.png]


불행하게도 V1.8 이군요 쩝...

 

이지부트 2.0으로 업그레이드

이전에 EZ-S2410  포팅을 진행 할 때 부트로더 업그레이드 강좌를 진행 했습니다. 

 

또 자세하게 설명하기 귀찮잖아요..
그래서 여기서는 약식으로 설명해 갑니다. 


조금 자세한 것은 이전 강좌 중    “커널을 보드에 올리기” 편을 참조 하세요

저희 회사 이지부트로더는 여기서 다운 받습니다.

http://ftp.falinux.com/ezboot/recommendation/

다음과 같은 명령을 사용해서 압축 풉니다.

[root@localhost ezboot_outside]# tar zxvf ezboot.tar.gz


이제 ezboot란 디렉토리가 생겼을 겁니다.

여기로 이동합니다.

[root@localhost ezboot_outside]# cd ezboot
[root@localhost ezboot]# ls
Makefile     arch_pxa255   ez-au1250_make.sh  ez-pxa270_make.sh   image
arch_au1250  arch_pxa270   ez-ep9312_make.sh  ez-s3c2440_make.sh  include
arch_ep9312  arch_s3c2440  ez-pxa255_make.sh  ez-x5_make.sh       main
[root@localhost ezboot]#


다음과 같이 컴파일 해야 합니다.

ez-pxa255_make.sh
[root@localhost ezboot]# ./ez-pxa255_make.sh clean
[root@localhost ezboot]# ./ez- pxa255_make.sh


./ ez- pxa255_make.sh clean  명령은 처음 한번만 하면 됩니다.

 

소스가 수정되면 ./ ez- pxa255_make.sh 으로 컴파일하면 됩니다.


컴파일 처리 결과로 다음과 같은 마지막 메시지가 나오면 성공한 겁니다.

 

arm-linux-objcopy -O binary -R .note -R .comment -S main-elf32 main_org
make[1]: Leaving directory `/project/ezboot_outside/ezboot/main'
dd if=arch_pxa255/start/start_org of=image/ezboot.ez-x5 bs=1k conv=sync
0+1 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0 s, Infinity B/s
dd if=main/main_org of=image/ezboot.ez-x5 bs=1k seek=4
63+1 records in
63+1 records out
65516 bytes (66 kB) copied, 0 s, Infinity B/s
chmod 777 image/ezboot.ez-x5


부트로더 이미지는 image/ezboot.ez-x5 에 생겼습니다

 

그렇다면 이걸 tftp 프로토콜로 다운로드 받을 수 있겠 끔 옮겨야 겠죠?

[root@localhost ezboot]# cp image/ezboot.ez-x5 /tftpboot/


자 이제 모두 끝났습니다.

다시 보드의 시리얼 에뮬레이터로 가 봅시다.

 

이번에는 zfb 란 명령을 사용해서 ZMODEM 프로토콜로 부트로더 이미지를 다운 받아 봅시다.

이 부분은 포럼의 강좌를 보고 하시기 바랍니다.
설명은 생략하겠습니다.

 

다운로드 받으면 보드를 재 부팅합니다.
역시 이번에도 ECC 에 관련된 에러 메시지가 쭈욱 나올 겁니다.

set 명령을 사용해서

EZBOOT>set
^^;
   1) mac address            : 00:FA:07:78:65:05
   2) local ip               : 192.168.10.182
   3) local netmask          : 255.255.0.0
   4) local gateway          : 192.168.10.1
   5) server ip              : 192.168.10.61
   6) zImage      file name  : zImage.ez-x5
   7) ram disk    file name  : ramdisk-1.11-16M.gz
   8) boot loader file name  : ezboot.ez-x5
   9) logo image  file name  :
  10) auto execute full name :
  11) autoboot wait time     : 3
  12) copy ramdisk [Y/N]     : Y
  13) arm kernel arch number : 3002
  14) nand part (B,C,L,K,R,A): 0,1,0,3,5,55
  15) watchdog  (sec, off=0) : 0
  16) KCMD 1 : mem=64M
  17) KCMD 2 : initrd=0xA0800000,5M root=/dev/ram ramdisk=16384
  18) KCMD 3 : console=ttyPXA2,115200
  19) KCMD 4 : video=ezfb:panel:3
  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 >>



일단 자신의 네트워크 상황에 맞도록 2,3,4,5 항을 수정하십시오 위 예시는 제 보드의네트워크 설정입니다.

그리고 환경 저장을 하시고

tfb 명령을 수행하셔서 다시 한번 부트로더를 받습니다.

그리고

rst 명령을 사용하거나 전원을 껐다가 켜서 다시 보드를 부팅 시킵니다.

EZBOOT>rst
System Soft Reset.......
EZBOOT>

WELCOME EZBOOT V2.2.50 (FALINUX Co.,Ltd) ..........PXA255(EZ-X5)
Program by You Young-chang, Oh Jae-Kyoung, Jang Hyung-Gi
Last Modify Aug 19 2008

  Detect ES29LV400_B Flash : vid=4A pid=22BA
  SIZE 4-Mbits [512-Kbytes]

  Detect Samsung NAND 64M 3.3V 8-bit Flash : vid=EC pid=76
  SIZE 64-Mbytes (page=512, block=16K)

  diff magic [20090212:20080812]
Quickly Autoboot [ENTER] / Goto BOOT-MENU press [space bar].

  CS8900 Init ......
  Mac Address  : [00 FA                 07 78 65 05       ]
  Detect value : [3000:3000]
  Chip ID      : [0E63:000A]

EZBOOT>


이번에도 깔끔하게 정리 됩니다.  하하

부트로더 업그레이드가 끝났습니다.

자 이제 커널 포팅을 시작해 봅시다....