강좌 & 팁
부트로더 버전 확인
이제 저희 회사에서 가장 많이 팔렸던 PXA255 프로세서 보드인 EZ-X5 시리얼 포팅입니다.
EZ-X5 부트로더를 한번 확인해 봅시다.
제 것은 이렇게 나왔습니다.
[A013_010_boot_loader_version.png]
불행하게도 V1.8 이군요 쩝...
이지부트 2.0으로 업그레이드
이전에 EZ-S2410 포팅을 진행 할 때 부트로더 업그레이드 강좌를 진행 했습니다.
또 자세하게 설명하기 귀찮잖아요..
그래서 여기서는 약식으로 설명해 갑니다.
조금 자세한 것은 이전 강좌 중 “커널을 보드에 올리기” 편을 참조 하세요
저희 회사 이지부트로더는 여기서 다운 받습니다.
다음과 같은 명령을 사용해서 압축 풉니다.
[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 명령을 사용해서
^^;
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>
이번에도 깔끔하게 정리 됩니다. 하하
부트로더 업그레이드가 끝났습니다.
자 이제 커널 포팅을 시작해 봅시다....
오 이제 x5군요
추후에 디바이스장치 포팅부분도 강좌로 알려주시나요?