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

제가 사용하고 있는 보드는 AT91SAM9M10G45-EK보드로 공부중에 있는데요... 제가 만든 커널이 부팅 도중에 멈추는 이상한 현상이 있어서 ㅠㅠ 정리 해봤습니다. 고수님들의 친절한 답변 부탁드립니다.

 

1) 리눅스 커널 2.6.30 exp Patch 그리고 마지막으로 defconfig 파일을 보드에 맞춰서 받아서 아래와 같이

Linux 폴더에 압축을 해제하여 넣어 놨습니다.

cid:image001.jpg@01CCFBA4.A024DB00

 

2) 아래 그림과 같이 PATCH를 하였습니다. (for p in 2.6.30-at91-exp.4/*; do patch -p1 < $p ; done)

cid:image002.jpg@01CCFBA4.A024DB00

 

3) defconfig 파일을 .config파일로 복사를 했습니다.

cid:image003.jpg@01CCFBA4.A024DB00

 

4) make menuconfig 명령을 통해 아래와 같이 configuration이 적용이 잘 되었는지 확인을 했습니다.

cid:image004.jpg@01CCFBA4.A024DB00

 

5) 아래와 같이 리눅스 Compile을 했습니다.

cid:image005.jpg@01CCFBA4.A024DB00

 

6) 윗 부분에서 했던 패치가 완벽하게 되지 않았기 때문에 아래와 같이 에러가 발생했습니다.

(패치 로고는 메일에 첨부함)

cid:image006.jpg@01CCFBA4.A024DB00

 

7) 에러가 난 부분을 해결하기 위해서 패치시에 제대로 되지 않았기 때문에 *.rej 파일을 찾아서 매뉴얼로 패치를 하였습니다. 패치한 파일은 at91_pmc.h clock.c파일의 rej파일을 찾아서 비교하며 수정하였습니다.

cid:image007.jpg@01CCFBA4.A024DB00

cid:image008.jpg@01CCFBA4.A024DB00

 

----- clock.c 파일에서는 아래 빨간줄로 표시한 cpu_is_at572d940hf()함수를 제거하였습니다. 이 함수의 선언이 되어 있지 않기 때문에 위와 같이 에러가 발생했기

때문에 제거하였습니다.

cid:image009.jpg@01CCFBA4.A024DB00

 

 

8) 모든 에러를 수정하여 커널을 컴파일 했습니다. 아래와 같이 커널 컴파일이 완료되어 zImage가 생성 된 것을 볼 수 있습니다.

cid:image010.jpg@01CCFBA4.A024DB00

 

9) Mkimage 명령어를 통해 uImage를 아래와 같이 만들어었습니다.

cid:image011.jpg@01CCFBA4.A024DB00

 

10) SAM-BA를 이용하여 DATA FLASH 리눅스 영역에 다운로드 했습니다.

밑에 보시는 그림처럼 DATA FLASH 0x42000 번지에 다운로드를 했습니다.

여기서 제가 uImage를 그냥 Writing한 것이 아니라 기존 Atmel에서는 리눅스 커널을 binary형태의 파일로 배포했기 때문에

제가 uImage에 단지 확장자 bin만 붙여서 아래와 같이 uImage.bin 파일을 writing하였는데, (이 부분이 좀 의심스럽습니다.)

제가 이렇게 한 이유는 atmel에서 제공하는 빌드된 커널 옆에 설명으로 uImage라고 되어있었으며 리눅스 file명령어를 통해 비교해 보니

Atmel에서 제공된 빌드 된 커널이 uImage와 같은 구조로 되어 있는 것을 확인 했기 때문입니다.

cid:image012.jpg@01CCFBA4.A024DB00

 

11) 부팅을 하면 u-boot화면이 나오고 정상적으로 되다가 아래와 같이 “Uncompressing Linux ……………….. “ 이상한 값이 출력된 후 멈추게 됩니다.

cid:image013.jpg@01CCFBA4.A024DB00

 

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


고도리

2012.03.07 22:28:27
*.200.239.234

그림이 안보이네요...ㅠ.ㅠ

laconicblue

2012.03.12 23:54:10
*.46.145.207

그림이 여전히 안 보이는 군요.

위에 진행되는 상황을 보면 이부분을 넘어 가신 것 같군요.

 

저도 atmel 의 AT91SAM9G35-EK  를  porting 했습니다.

 

 이미 아시겠지만, 초기에 거치는 파일 들은 이와 같습니다.

  1. arch/arm/boot/compressed/head.S
  2. arch/arm/boot/kernel/head.S
  3. arch/arm/boot/kernel/head-common.S ( arch/arm/boot/kernel/head.S 의 마지막에 include 됨.)
  4. start_kernel in init/main.c

"Uncompressing Linux..." 는 1번의 head.S  에서 decompress_kernel (arch/arm/boot/compressed/misc.c) 로 jump  하면 뜨는 것이니, 이미  kernel 내에 진입이 된 상태입니다. Assembly code 는 보통 잘 동작할 것으로 예상되니, start_kernel 에는 갔을 것으로 보입니다.

 

kernel 상에서는 log_buf 가 초기화 되기 전에는 일반적인 printk 는 동작하지 않으니,

early_printk 를 사용해 보시면,  start_kernel  이후의 초기화 과정중 문제가 되는 부분을 쉽게 찾을 수 있을 것으로 보입니다.

관련된 compilation flag 는 CONFIG_DEBUG_KERNEL , CONFIG_DEBUG_LL , CONFIG_EARLY_PRINTK 입니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
5248 u-boot에서 커널을 로드 하지 못할 때 (can't get kernel image!)는... file [3] 혜민아빠 2012-03-16 2378
5247 LVDS에 관한 문의입니다 [3] 박영호 2012-03-15 1348
5246 램을 늘리려 하는데요. [4] 현쓰 2012-03-15 1399
5245 mtd partition을 보드 셋업 코드에서 어떻게 나누는 것이 맞는 것... file [4] 혜민아빠 2012-03-14 1470
5244 ICS S4210 (type password to decrypt storage?) 문제... file [4] 아명 2012-03-14 1759
5243 커널에 드라이버를 포함했을 때는 동작하고 모듈 형태로 할 때는 동... 혜민아빠 2012-03-13 1075
5242 directfb + gtk2 + webkit 1.2.7 (without X11)관련 문의 [3] laconicblue 2012-03-13 1520
5241 USB 3.0 관련 질문 [3] 신현호 2012-03-12 1560
5240 안드로이드 플렛폼 질문... [2] 하루천재 2012-03-12 1392
5239 exynos4210(V310)의 u-boot에서 GPY0CON의 주소를 모르겠네요. [4] 훌러덩 2012-03-10 1817
5238 커널에 드라이버를 포함했을 때 인터럽트 함수를 사용했을 때 커널 ... [6] 혜민아빠 2012-03-09 2113
5237 분석과 포팅책을 보고있는데 질문하나드립니다. [3] daem0n 2012-03-09 1389
5236 Origen보드용 새 SD카드 사용하기 문의 [2] 다콩 2012-03-09 1642
5235 linux/arch/arm/mach-at91/ 폴더에 있는 board-sam9m10g45ek.c 파일은 무엇... [2] 혜민아빠 2012-03-09 1792
5234 patch software 버전에 따라 patch가 제대로 되지 않을 수 있나요... [2] 혜민아빠 2012-03-08 1304
5233 V310에서 u-boot쪽에서 SROM_CSn[1]을 선택 하려고 하는데요. memo... [1] 훌러덩 2012-03-08 1034
5232 V210 JTAG 추천 부탁 [3] 박명대 2012-03-07 1373
» 임베디드 리눅스를 보드에 타겟팅 했을 때 부팅이 되지 않는 이유는... [2] 혜민아빠 2012-03-07 1668
5230 build.prop 생성방법이 궁금합니다. [1] yama 2012-03-04 1475
5229 출력에 대해서 궁금해서 질문 올립니다. [7] 하루천재 2012-03-03 1148

사용자 로그인