원인

Uncompressing………………………………….

done, booting the kernel.

라고 나오며 더 이상 부팅이 진행 되지 않는 경우…

즉, 현재 내가 겪고 있는 문제의 경우…

다음과 같은 것이 원인 일 수 있는거 같다.

  • 컴파일시 커널 주소설정과 로딩한 주소가 맞지 않은 경우
  • 콘솔로 시리얼 포트외의 다른 장치(LCD 등)이 설정된 경우
  • 부트로더와 커널의 시리얼 포트 설정이 서로 맞지 않은 경우
  • TEXTADDR 값을 이상하게 고친 경우-_-
  • 시리얼 포트 설정을 잘못한 경우(포트 번호나 baudrate 등)
  • 부트 로더 설정이 잘못된 경우
  • 커널 패치를 제대로 안 해준 경우

(from http://www.kelp.or.kr)

흠… 내 경우에는 어떤 것이 원인일지…;;

u-boot 명령

중 가장 많이 쓰고 있는 것들…

>> loadb

>> erase 1:8-16

>> cp.b 0x10000000 0x100000 6cd45

>> bootm

파일을 받아서 ram시작주소(0x10000000)에 저장하고,

flashrom bank 1의 sector 8에서 16까지 지우고,

0x10000000에서 0x100000로 6cd45 만큼 복사하고,

부팅~

지겹다=_=

결국…

압축을 풀고 제대로 점프한다는걸 알았다-_-

0x10008000 에 풀고, 점프~

저번에 어떤 문서에서 ARM은 ram시작 주소(osk는 0x10000000)에서 0x8000 떨어진 곳(0x10000000 + 0x8000 = 0x10008000)에서 부터 커널이 들어가야 된다고 본거 같은데..

그럼 주소도 맞고…

그럼…

도대체…

머가 문제라서 점프 후 무소식이란 말인가=_=

u-boot용 이미지 만들기

리눅스 커널 컴파일을 하여 이미지를 생성한 후에,

$ arm-linux-objcopy -O binary -R .note -R .comment

-S arch/arm/boot/compressed/vmlinux linux.bin

$ gzip -9 linux.bin $ mkimage -A arm -O linux -T kernel -C gzip -a 0x10008000 -e 0x10008000

-n “?LInux Kernel Image -d linux.bin.gz uImage.cc

현재…

u-boot에 커널이미지를 올려서 커널을 로딩하는데 까지는 성공한 상태이나..

커널이 압축을 해제한 다음 실제 시작점으로 점프하는 부분부터 안되고 있음.

이 부분이 점프하는 주소가 잘못된 것이라 추측하고….

압축 푸는 주소, 점프하는 주소, omap5912 부팅시 써야 하는 주소 등등을 고려중..

창세기전

랑그릿사, 택틱스 오우거와 더불어 내가 가장 좋아하는 게임 +_+

그 완결판 창세기전 3 Part II 를 오늘 드디어 끝냈다.

(3년 만인가.. 2001년 초에 샀으니..-_-)

아아.. 조금은 예상한 바대로 된것도 있지만… 역시 창세기전 시리즈의 스토리는 일품이다 :)

이 게임을 끝으로 창세기전 시리즈가 더 이상 발매되고 있지 않은 현실이 슬프기만하다.

창세기전2 리메이크나 그 이전의 이야기 등이 새로 발매된다면 당장 살지도 모르는데+_+