EZ-Board[6410] U-BOOT 포팅하기 [1]

 

종종 EZ보드에 U-Boot포팅을 문의하는 분들이 있어서 한번 올려 봄니다.

U-Boot가 뭔지 모르시는 분들 위해 잠깐 소개 하자면

U-boot (Universal Boot Loader)

   - PowerPC ARM에 기반을 둔 임베디드 보드를 위한 부트로더로, 본래 PPC-boot 프로젝트와

       ARM-boot 프로젝트가 통합되면서 만들어 졌다. (현재는 대부분의 CPU를 지원)

라고 합니다. 유붓의 장점이라면

     다양한 시스템에서 사용 가능, Serial, Network, USB, Flash를 지원

      CPU에 대한 Evaluation Board Sample 코드를 제공

      CPU에 대한 명령어 체계가 동일하므로 다른 Platform을 적용하기 쉽다.

는 점이 있습니다만 반대로 막강한 디바이스 지원으로 인해 다른 부트로더에 비해 파일 크기가 무척 크다는 단점이 있습니다.

필자 역시 배우면서 느낀점은 EZ-boot가 스마트하다고 생각 되더군요.

자 그럼 기초 설명은 여기까지 하기로 하고 본격적으로 시작해 보겠습니다.

일단 최종 타겟보드는 가장 많이 쓰는 EZ-s3c6410보드 입니다.

 

U-boot포팅을 하려면 먼저 소스 코드를 다운 받아야겠죠? 자료실에서 소스파일을 다운 받으세요(업로드 용량 관계로 분할 압축 했어요)

소스파일은 삼성에서 공개한 smdk6410용 파일인 u-boot-1.3.4-samsung_rel-1-0-4_20090305.tar.bz2 입니다.

물론 원본 소스 코드도 있지만 아직 필자의 내공이 깊지 않은 터라...;;;

 

먼저 소스 파일을 풀어주세요

tar파일을 푸는 명령은 tar –xvf [파일명] 입니다.

이미지 2.jpg

 tar –xvf u-boot-1.3.4-samsung_rel-1-0-4_20090305.tar.bz2

 

자 타르파일을 풀면 u-boot-1.3.4-samsung 디렉토리가 생길거에요.

혹시 모를 사태를 대비해 u-boot-1.3.4-samsung를 복사해 실제 작업할 폴더를 만들어 놓겠습니다.

저는 폴더이름을 [ u-boot.6410 ]으로 지었습니다. 편하신 대로 폴더이름을 지으세요

디렉토리 파일복사 명령은 cp –r [원본파일명][복사파일명] 입니다.

이미지 4.jpg

cp –r u-boot-1.3.4-samsung/ u-boot.6410

 

참고로 파일복사를 마쳤으면 작업의 편의를 위해 chmod명령으로 모드를 변경 해주시면 편합니다.

명령어는 다음과 같아요

chmod –R 777 u-boot.6410

이미지 10.jpg

ls –al 명령을 실행하시면 위에 그림처럼 모드가 변경된걸 확인하실 수 있을거에요.

 

자 그럼 이제 컴파일을 해볼까요?

컴파일을 하려면 먼저 makefile에서 크로스 컴파일러를 지정해주어야 합니다.

그러고 보니 크로스 컴파일러는 설치 하셨나요? 안하셨으면 아래주소로 가서 배우고 오시길ㅎㅎㅎ

http://forum.falinux.com/zbxe/?mid=lecture_tip&document_srl=462349

 

Makefile을 열어 크로스 컴파일러를 지정해주는 방법은 아래 그림과 같이 하면 됩니다.

이미지 1.jpg

 

이미지 3.jpg

ifeq ($(ARCH),arm)

CROSS_COMPILE = arm-generic-linux-gnueabi-

endif

 

자 이제 컴파일이 잘되나 테스트를 한번 해보겠습니다.

먼저 make clobber 명령어로 클린을 명령을 실행해 보구요

Make smdk6410_config 명령으로 타겟보드 환경설정을 해줌니다.

아래와 같은 글귀가 나오면 잘되었다는 것이니

이미지 6.jpg

make를 실행하여 컴파일을 하세요. 오래 걸릴 터이니 인내심을 갖고 기다려야 할거에요.

 이미지 8.jpg

컴파일은 잘되셨나요? 아래와 같이 나온다면 별탈없이 잘된 것이람니다.

이미지 7.jpg

 

참고로 폴더를 확인해 보면 u-boot.bin 파일이 생긴걸 볼수 있을거에요.

이미지 9.jpg

파일 생성까지 잘되셨다면 오늘의 미션 클리어 입니다~~~짝짝짝~! 축하해요~*^^*

다음 시간엔 Target board configuration에 대해 알아 보겠습니다.

to be continue….