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

제가 kernel을 compile해서 올렸는데, Starting kernel... 하고 멈춰 버립니다.

도대체 어디를 봐야할지요...^^

조언 부탁드립니다.


U-Boot 1.3.0-rc3-g681a9cec-dirty (Mar 27 2008 - 09:43:45)

***  Auto-detects ethernet chip ***


DRAM:   0 kB
Flash: 64 MB
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
RealView_PB # tftp 0x8000 uImage
LAN9118 ethernet chip detected
TFTP from server 192.168.1.10; our IP address is 192.168.1.100
Filename 'uImage'.
Load address: 0x8000
Loading: #################################################################
         #################################################################
         ################################################################
done
Bytes transferred = 2845776 (2b6c50 hex)
RealView_PB # bootm
## Booting image at 00008000 ...
   Image Name:   u_linux
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2845712 Bytes =  2.7 MB
   Load Address: 00008000
   Entry Point:  00008000
   XIP Kernel Image ... OK

Starting kernel ...



profile

김재훈

2009.02.13 19:54:29
*.162.60.144

참고로 ARM PB 보드용 uImage를 만드는 명령은 mkimage -A arm -T kernel -C none -a 0x7fc0 -e 0x8000 -n "설명" -d zImage 경로 [이미지 이름] 으로 합니다. 부팅 메시지 보니깐 이 부분은 맞는 것 같네요. :)

ARM PB 보드의 경우 부트 아큐먼트가 다른 보드에 비해 약간 틀리니 다음을 참고해 보세요.
제가 PB 보드 쓴지 하도 오래되어서, 대신 ARM EB 보드용 부트 아규먼트를 올립니다. 아마 비슷할 꺼에요.

root=/dev/nfs rw nfsroot=192.168.1.10:/nfsroot/cramfs mem=64M ip=192.168.1.85:192.168.1.10:192.168.1.1:255.255.255.0::eth0:off console=ttyAMA0 ethaddr=08:00:3e:26:0a:5b

아마, PB 보드도 비슷할 꺼에요. ^^; 여기서 중요한건 mem 사이즈와 console이 ttyAMA0 라는 것 입니다. :)
이것 때문에 부팅 안되서 삽질했던 기억이...~

최영진

2009.02.13 20:35:01
*.241.151.50

아.. 답변 감사합니다. ^^ 저도 열심히 삽질 해보겠습니다.

고현철

2009.02.13 22:28:57
*.32.117.22

쩝..........어떤 보드인지요....

cpu를 모르면 답을 하기 거의 불가능 할 듯 합니다.

최영진

2009.02.13 23:08:24
*.241.151.50

^^ ARM의 PBA8 보드 입니다.
ARM 홈페이지에서 받은 kernel image로는 잘 부팅이 되는데..그것은 arm2 patch version 이고요..
 arm3 patch가 올라와서, 그걸 받아서 새로  compile 해서 download 하고 실행하면 hang 되버려서요..

http://www.arm.com/products/os/linux_download.html 요기에서 patch와config 파일과 uboot binary 와 fs binary를 받았습니다.
src는 open source 에 받아서 arm3 patch 해주고, config 로 compile 해주고, uboot는 pba8 보드 flash에 넣어주고, file system도
flash에 넣어 주었습니다.
kernel 만 바꿔 가면서 테스트 할 생각이 었습니다.

--잘 되는 log ---

U-Boot 1.3.0-rc3-g681a9cec-dirty (Mar 27 2008 - 09:43:45)

***  Auto-detects ethernet chip ***
DRAM:   0 kB
Flash: 64 MB
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
RealView_PB # tftp 0x7fc0 u
LAN9118 ethernet chip detected
TFTP from server 192.168.1.10; our IP address is 192.168.1.100
Filename 'u'.
Load address: 0x7fc0
Loading: #################################################################
         #################################################################
         #################################################################
         ########
done
Bytes transferred = 2970360 (2d52f8 hex)
RealView_PB # bootm
## Booting image at 00007fc0 ...
   Image Name:   u-linux
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2970296 Bytes =  2.8 MB
   Load Address: 00007fc0
   Entry Point:  00008000
   XIP Kernel Image ... OK

Starting kernel ...

Linux version 2.6.24-arm2 (bahadir@bahadir-laptop) (gcc version 4.2.1 (CodeSourcery
Sourcery G++ Lite 2007q3-51)) #5 Wed Mar 26 16:57:08 GMT 2008
CPU: ARMv7 Processor [411fc081] revision 1 (ARMv7), cr=00c5387f
Machine: ARM-RealView PB-A8
Memory policy: ECC disabled, Data cache writeback
CPU0: D VIPT write-through cache
CPU0: cache: 768 bytes, associativity 1, 8 byte lines, 64 sets
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
Kernel command line: root=/dev/mtdblock0 mtdparts=armflash.0:21100k@0x2800000(cramfs
) mem=256M console=ttyAMA0 migration_cost=100
PID hash table entries: 1024 (order: 10, 4096 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 256MB = 256MB total
Memory: 256768KB available (2700K code, 237K data, 88K init)
SLUB: Genslabs=11, HWalign=32, Order=0-1, MinObjects=4, CPUs=1, Nodes=1
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 64 bytes
NET: Registered protocol family 16
PCI: bus0: Fast back to back transfers enabled
PCI: bus1: Fast back to back transfers enabled
PCI: bus2: Fast back to back transfers enabled
PCI map irq: slot 0, pin 1, devslot 29, irq: 82
PCI map irq: slot 0, pin 0, devslot 30, irq: 84
PCI: Bridge: 0000:00:1d.0
  IO window: disabled. >>>>> 이하 중략...

--잘 않되는 log--
U-Boot 1.3.0-rc3-g681a9cec-dirty (Mar 27 2008 - 09:43:45)

***  Auto-detects ethernet chip ***
DRAM:   0 kB
Flash: 64 MB
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
RealView_PB # tftp 0x7fc0 uImage
LAN9118 ethernet chip detected
TFTP from server 192.168.1.10; our IP address is 192.168.1.100
Filename 'uImage'.
Load address: 0x7fc0
Loading: #################################################################
         #################################################################
         ################################################################
done
Bytes transferred = 2845776 (2b6c50 hex)
RealView_PB # bootm
## Booting image at 00007fc0 ...
   Image Name:   kernel 2.6.24-arm3 ojin
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2845712 Bytes =  2.7 MB
   Load Address: 00007fc0
   Entry Point:  00008000
   XIP Kernel Image ... OK

Starting kernel ...  >>> 이후 hang............
profile

김재훈

2009.02.14 08:27:24
*.162.4.225

전 PB 보드는 ARM926EJS 까지 밖에 안써봐서 ㅎㅎ 그새 PB-A8이 나왔나 보네요. ^^
패치 파일을 검토해보니 주로 THUMB 모드에 대한 대대적인 패치가 있었던 것 같습니다.
이외에 ARMv7 아키텍쳐 명령어를 어셈블러단에서 적극적으로 사용한 흔적이 보이네요.
그리고 이외에 ARM11MP 코어 지원 및 기타 추가적인 디바이스 드라이버 지원흔적이 보입니다.

우선, 패치파일로 유추해 보면서 의심되는 점은 컴포넌트들이 추가됨으로써 기존 Config 파일이 맞지 않을 가능성이 있습니다.
Memuconfig에서 Config가 현재 A8 보드에 맞도록 올바르게 되어있는지 검토해 보십시오.

또 한 가지는 컴파일러의 아키텍쳐 튜닝 아규먼트가 바뀌었고 ARMv7 어셈블러의 적극적인 사용흔적이 보입니다.
이것이 현재 사용하는  Code Sourcery G++ Lite 2007q3-51 툴체인에서 지원되는지가 의심됩니다.
Code Sourcery 홈페이지에서 최신 툴체인을 받아서 수행해 보세요.

이것은 단순히 의심되는 부분이고, 보다 정확한것은 ICE 장비를 물려서 백트레이스를 해봐야 알 수 있을 것 같습니다.
만약 동작을 하지 않는다면, 영국 ARM 측에 E-Mail로 문의하시면 하루만에 기술지원 답변이 옵니다.
(이런 부분은 상당히 친절하고, 자세히 설명해 줍니다. 영어로 간단하게 작성하셔도 쉬운 영어로 답변을 잘 해줍니다. ㅎ)

PB 보드나 EB 보드는 SoC 설계용 보드라 보드의 아키텍쳐가 상당히 복잡하고, 주요 컨트롤러들이 FPGA로 구현되어 있어서,
메뉴얼에 기재 되지 않은 레지스터 및 알 수 없는 버그가 산재해 있습니다.

저야, 잘 모르던 시절에 디버깅 장비를 가지고 레지스터를 퍼즐 맞추듯이 짜맞추어 가면서 문제점을 찾았지만,
뒤돌아 보면 가장 쉬운 방법은 영국 ARM 본사 측에 메일 한통이면 된다는 것을 깨닫게 되네요. ^^

PB나 EB 보드의 경우 문제 발생시 영국 ARM 본사측에 이메일로 문의해 보시는게 가장 신속하고 정확한 답변이 됩니다. :)

그럼 도움이 되시길 바랍니다.

profile

김재훈

2009.02.14 09:23:13
*.162.4.225

아, 그리고 일전에 아래에서 문의하셨던 PCI 인터페이스에 대한 지원도 이루어지는 것 같네요. ^^

최영진

2009.02.14 18:13:49
*.241.151.50

친절한 답변 감사합니다. ^^

일단 ARM사 문의는 하였으나, 그 사람들은 linux에 대한 공식적인 지원을 하지 않는다고 하네요..
아무래도 config 파일이 뭔가 이상한것 같은데..

PIC도 지원은 하는 것 같은데, 기본적으로 않되있어서, kconfig 부터 수정해 주어야 하는 것 같습니다.
역시 ARM를 물고 늘어질수 밖에 없는 거네요..

감사합니다.
List of Articles
번호 제목 글쓴이 날짜 조회 수
388 CPU 어드레스 인식에 관한여 간단한 질문하나 드립니다. [4] 한석준 2009-02-25 741
387 GStreamer Plug-In 타입의 코덱개발하시는 분 계신가요 ? [2] 장석원 2009-02-25 1397
386 native 개발환경 구축 방법 [2] 송의석 2009-02-24 1092
385 제가 ads7843 터치스크린 디바이스 드라이버를 만들었는데요..insmod ... [3] 정성욱 2009-02-24 1313
384 스캐터 파일 질문 [2] 한석준 2009-02-24 865
383 Filezilla 오픈소스... 리눅스에서 컴파일은 어떻게 하나요 ? [1] 장석원 2009-02-22 1207
382 외주 개발 업체를 찾습니다. [2] 김봉태 2009-02-21 999
381 su 유저 변경.. [3] 윤동열 2009-02-19 1059
380 pxa255 MMU 설정 질문 - 2번째(그림 첨부) [8] 한석준 2009-02-17 1095
379 동영상 재생 솔루션 [5] 이태간 2009-02-17 764
378 pxa255 MMU 설정 질문 [6] 한석준 2009-02-16 1262
» kernel boot 관련 질문 [7] 최영진 2009-02-13 1452
376 flashlite로 UI개발에 대해서.. [3] 이태간 2009-02-10 991
375 nfs mount에 대한 질문입니다. [3] 김선엽 2009-02-07 1371
374 flashlite질문 [8] 이태간 2009-02-06 1036
373 buffers, cache 관련 질문 [2] 파일럿 2009-02-06 728
372 linux pci, pcie 포팅 관련 문의 [2] 휘리릭 2009-02-05 850
371 linux base에서 동영상 녹화 [4] 윤인성 2009-02-05 985
370 Audio Driver에 관한.... [5] 주의이름으로 2009-02-05 900
369 리눅스 개발환경 [3] 이태간 2009-02-04 1143

사용자 로그인