기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

file명령어를 통해 파일을 읽어서 같은 형태로 나오면 같은 종류의 파일 아닌가요?

 

제가 현재 사용하고 있는 AT91SAM9M10G45-EK 보드에서 딸려온 리눅스 커널이

 

bin파일 형태로 왔습니다. Linux-kerlel.bin 이 파일을 file형태로

보니 아래의 그림과 같이 제가 커널을 컴파일 해서 생성된 uImage파일과 형태가 같았습니다.

 

logo.jpg

 

그래서 전 아...같은 파일이구나...라고 생각해서

uImage를 uImage.bin으로 확장자 bin만 붙여서 다운로드 했더니..기존 Atmel에서 제공한 Linux-kernel.bin파일은

부팅까지 잘 되는데 ㅠㅠ;

이상하게 제가 만든 uImage.bin파일은 부팅이 아래 그림 부분에서 멈추더군요..

 

bad_image.jpg

Atmel에서 제공하는 정상적인 리눅스 커널 바이너리를 다운로드 하면 위의 부분이

아래와 같이 나왔습니다.

 

nomal_booting.jpg

 

 

음..그래서 제가 바이너리를 정상적인 것과 동작하지 않은 것을 비교해 봤습니다.

 

compare.jpg

 

역쉬나 정상적인 Linux-kernel.bin파일은 제 보드 네임이 정확하게 찍혀있었습니다.

그런데 제가 만든 uImage.bin파일은 보드 네임이 없었습니다. ㅠㅠ; 먼가 제가 컴파일 할 때 먼가를 더 해야 하는 것이

아닌가? 이런 생각까지는 드는데 ^^; 뭘 더 해야할지 모르겠네요..

고수님들의 친절한 답변 부탁드립니ㅏ.

 


채병철

2012.02.23 05:50:13
*.175.117.254

두 파일은 헤더 구조가 다릅니다. 아래 내용 참조하세요.

 

이글은 이솝 보드 사이트에서 퍼온 글입니다~ 출처는 제일 하단에~

zImage = small bootloader + self extract code + kernel image
이고

u-boot용 image인
uimage = u-boot용 kernel header + kernel image
입니다.(aesop용은 aesopk라고 제가 이름을 바꿨습니다)

u-boot를 쓰신다면 되도록이면 uimage를 쓰시는게 편하고
zImage의 경우는 다른 부트로더나 아니면 특정 번지로 zImage를
다운로드만 하는 프로그램을 사용할 때 좋습니다.

그리고, u-boot에서 zImage를 사용할때는 go 명령을 쓰고
uimage를 사용할때는 bootm 명령을 씁니다.

u-boot용image의 경우는 self extract code가 없습니다. 압축해제가
u-boot에서 이루어 지기 때문이지요.

두개의 가장 큰 차이는

zImage는 u-boot에서 아무것도 파라미터가 넘어가지 않습니다.
즉, 완전 독립적인 녀석입니다.

해서 zImage에서 손대려면 zImage를 만들때 사용하는
arch/arm/boot/compressed/head.S에서 손을 대야합니다.

u-boot를 쓰는 이유는 그런 부분들을 좀 더 부트로더로 내리고, 커널과의
communication을 편하게 하기 위함입니다.

head.S와 같은 asm을 손대지 않고, C에서 처리하거나, 아니면 define
하나만으로 처리하기 위한 것이지요.

예전 2.4.x대의 pxa255나 strongARM의 영향으로 아직도 zImage를
많이 사용합니다.

제가 뭐라고 할 얘기는 아니지만 u-boot를 쓰신다면 u-boot에서 할 수 있는
부분은 좀 편하게 u-boot의 기능을 이용했으면 하는 겁니다.

실제로 몇가지만 세팅해 주면 알아서 넘어가거든요.

예를 들어 ethernet mac address의 경우도 u-boot에서 커널로 넘겨서
자동세팅하도록 할 수 있습니다.

[출처 : http://www.aesop-embedded.org/bbs/view.php?id=cfree&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&keyword=ui&select_arrange=name&desc=asc&no=255]

List of Articles
번호 제목 글쓴이 날짜 조회 수

웹서버를 통해 장비를 제어하고 싶은데요.. 공부할만한 보드 하나만 ... [2]

  • 고즈
  • 2012-03-02
  • 조회 수 1374

bootanimation은 어떤 경로로 해서 kill되는지... [2]

android에 app을 많이 깔수록 느리게 뜨는 이유 [4]

Origen 터치 좌표 문의 file [2]

  • 다콩
  • 2012-02-29
  • 조회 수 1223

u-boot의 bootargs와 리눅스 커널의 Boot option을 맞춰야 하는거 ... file [5]

Origen 보드 인식 문제 [2]

  • 다콩
  • 2012-02-29
  • 조회 수 1412

Origen보드 SD 카드 내용 어디서 받을 수 있나요? [5]

  • 다콩
  • 2012-02-28
  • 조회 수 1400

busybox compile 옵션 질문이요...ㅠㅠ [2]

Android kernel 2.6.35 버젼 다운 받는 방법? [3]

Eth 없이 Linux 개발 or 공부 하기 [7]

노드 생성 관련 초보 질문입니다 [5]

  • khyukj
  • 2012-02-24
  • 조회 수 1584

KERNEL 2.6.32에서 ISR에서 spi_async()하면 kernel panic 발생합... [2]

  • yama
  • 2012-02-24
  • 조회 수 2355

ALSA 관련 스터디 조언을 구합니다. [2]

v210 에서 네트웍 관련해서 문의 드립니다. [2]

ctrl+z 키 질문입니다 [1]

file명령어를 통해 파일을 읽어서 같은 형태로 나오면 같은 종류의... file [1]

Ubuntu 10.10 desktop에서 로그인이 안되네요..

[permanent 메세지] wlan 동글 문제 [2]

디바이스 드라이버를 커널에 포함시키려면 어떻게 해야 하나요? file [3]

V210에서 usb메모리 마운트 방법에 대한 질문 입니다. [2]

  • Ike
  • 2012-02-22
  • 조회 수 1756

사용자 로그인