도와주세요!!
글 수 15,339
2007.11.27 03:53:00 (*.119.8.235)
8990
안녕하십니까...
호스트 컴퓨터는 데비안 etch로 커널 버전이 2.6대이고
타겟보드의 커널은 2.4.18입니다.
호스트 컴퓨터에서 nfs서버 설정을 성공하여,
크로스 컴파일러에 의해서 간단한 hello, world출력 프로그램을 작성하여
M01보드에서 실행해 보았는데,
FATAL: kernel too old
Aborted
라는 에러가 발생했습니다.
$ file hello
hello: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), for GNU/Linux 2.6.0, not stripped
라고 출력을 했습니다.
호스트와 타겟의 커널버전을 2.4면 2.4로, 2.6이면 2.6으로 각각 맞추어 줘야 되는 겁니까?
2.4와 2.6으로 서로 맞추어 줘야 한다면, M01보드의 경우에는 커널 2.6 컴파일 방법에 대한 설명이 그다지 많지 않던데,
EZBOARD-X5와 커널 컴파일 과정이 거의 동일한지 알고 싶습니다.
호스트 컴퓨터는 데비안 etch로 커널 버전이 2.6대이고
타겟보드의 커널은 2.4.18입니다.
호스트 컴퓨터에서 nfs서버 설정을 성공하여,
크로스 컴파일러에 의해서 간단한 hello, world출력 프로그램을 작성하여
M01보드에서 실행해 보았는데,
FATAL: kernel too old
Aborted
라는 에러가 발생했습니다.
$ file hello
hello: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), for GNU/Linux 2.6.0, not stripped
라고 출력을 했습니다.
호스트와 타겟의 커널버전을 2.4면 2.4로, 2.6이면 2.6으로 각각 맞추어 줘야 되는 겁니까?
2.4와 2.6으로 서로 맞추어 줘야 한다면, M01보드의 경우에는 커널 2.6 컴파일 방법에 대한 설명이 그다지 많지 않던데,
EZBOARD-X5와 커널 컴파일 과정이 거의 동일한지 알고 싶습니다.
일반 애플리케이션일 경우에는 호스트와 타켓 커널 버전을 맞추실 필요가 없는 것으로 알고 있습니다.
대신에 크로스 컴파일러 버전은 타세보드의 커널 버전과 관련이 있습니다.
말씀을 보았을 때에는 크로스 컴파일러 버전이 낮으신 것으로 생각됩니다.
사용하시는 크로스 컴파일러 버전이 어떻게 되시나요?
저는 arm-linux-gcc 3.4.3을 사용하고 있습니다.
크로스 컴파일러 버전을 확인하시고 낮으시면 좀더 높은 버전을 설치해 보십시오.