도와주세요!!
글 수 15,339
2002.04.15 19:05:26 (*.112.211.129)
7932
제가 시행한 컴파일러 설치와 커널설치의 과정을 적어보았습니다.
CDROM에 있는 cross_compiler의 패키지를 HOW_TO문서에 있는대
로 /ez/cross_compiler 폴더안에 복사한후 패키지를 설치하였습니다.
binutil 패키지 설치, 암용 라이브러리 설치, 암용 크로스 컴파일러 설치.
그랬더니 /usr/arm-linux 밑에 bin, include, lib 이렇게 세 개의 폴더가 생기
더군여.. 그리고 /usr/bin 폴더밑에 arm-linux-addr2line,arm-linux-ar,
arm-linux-as, ... , arm-linux-gcc, ...등등 암용 파일들이 생겼습니다.
그리고 /usr/arm-linux/bin 으로 패스를 잡아주었구여..
그런데 /usr/arm-linux/bin 안에는 ar,as,ld,nm,ranlib,strip 5개의 파일만 들
어있더군여..
컴파일러를 이렇게 설치하는게 맞는지여..??
커널설치또한 HOW TO문서에 있는대로 맨 처음 /ez/sw/kernel위치에서 linux-
2.4.10.tar.bz를 압축을 풀었더니 linux란 폴더가 생성되었습니다. 그다음 순
서대로 알랜콕스용을 패치하고, ARM용 패치, StrongARM용 패치, 이지보드패치
순으로 하였습니다.
그런데 ARM용 패치에서 HOW TO문서에는 ARM패치하기 전에 rm -rf linux-
org1/, ...., cp -dpR linux linux-ac11-org, ........ 등등 4개의 명령을
더 넣어주던데 이것은 왜 해주는 것인지여???
전 이것은 안해주었습니다.
이렇게 커널을 패치시켰더니, /ez/sw/kernel 안에 linux폴더가 생겼습니다.
그래서 Makefile에서 INCLYDEDIR = /ez/sw/kernel/linux/include 이렇게 해주
었구여.. CC = arm-linux-gcc 이렇게 해주었습니다.
이렇게 해주는것인 맞는지여??
이렇게 해주고 게시판에 있는 gpio예제소스를 컴파일해 보았는데 gpio.o를 만
드는데 있어서 오류가 발생합니다.
물론 test프로그램은 gcc로 그냥 컴파일 하여 실행파일을 생성할 수 있었고
여..
몇일째 들여다 봐도 왜 그런지 모르겠네여... ㅡㅡ
바쁘시더라도 답변 부탁드릴게여...
참, 그리고 gpio.c에 보니까 헤더파일 정의에서 asm으로 되어있던
데 /ez/sw/kernel/linux/include안에는 asm은 없더군여.. 그래서 asm-arm으로
바꾸어 주었습니다.
첨부파일로 컴파일시 나타나는 상황(오류)을 올렸습니다.
[root@sch test]# make
arm-linux-gcc -D__KERNEL__ -DMODULE -Wall -O2 -I.. -
l/ez/sw/kernel/linux/include -c -o gpio.o gpio.c
In file included from /ez/sw/kernel/linux/include/linux/ext3_fs_i.h:19,
from /ez/sw/kernel/linux/include/linux/fs.h:302,
from gpio.c:10:
/ez/sw/kernel/linux/include/linux/rwsem.h:27:
asm/rwsem.h: ?? ???? ????? ??
In file included from /ez/sw/kernel/linux/include/asm-arm/uaccess.h:7,
from gpio.c:15:
/ez/sw/kernel/linux/include/linux/sched.h:20: asm/mmu.h: ?? ???? ????? ??
In file included from /ez/sw/kernel/linux/include/linux/sem.h:4,
from /ez/sw/kernel/linux/include/linux/sched.h:24,
from /ez/sw/kernel/linux/include/asm-arm/uaccess.h:7,
from gpio.c:15:
/ez/sw/kernel/linux/include/linux/ipc.h:21:
asm/ipcbuf.h: ?? ???? ????? ??
In file included from /ez/sw/kernel/linux/include/linux/sched.h:24,
from /ez/sw/kernel/linux/include/asm-arm/uaccess.h:7,
from gpio.c:15:
/ez/sw/kernel/linux/include/linux/sem.h:35:
asm/sembuf.h: ?? ???? ????? ??
make: *** [gpio.o] 오류 1
[root@sch test]#
CDROM에 있는 cross_compiler의 패키지를 HOW_TO문서에 있는대
로 /ez/cross_compiler 폴더안에 복사한후 패키지를 설치하였습니다.
binutil 패키지 설치, 암용 라이브러리 설치, 암용 크로스 컴파일러 설치.
그랬더니 /usr/arm-linux 밑에 bin, include, lib 이렇게 세 개의 폴더가 생기
더군여.. 그리고 /usr/bin 폴더밑에 arm-linux-addr2line,arm-linux-ar,
arm-linux-as, ... , arm-linux-gcc, ...등등 암용 파일들이 생겼습니다.
그리고 /usr/arm-linux/bin 으로 패스를 잡아주었구여..
그런데 /usr/arm-linux/bin 안에는 ar,as,ld,nm,ranlib,strip 5개의 파일만 들
어있더군여..
컴파일러를 이렇게 설치하는게 맞는지여..??
커널설치또한 HOW TO문서에 있는대로 맨 처음 /ez/sw/kernel위치에서 linux-
2.4.10.tar.bz를 압축을 풀었더니 linux란 폴더가 생성되었습니다. 그다음 순
서대로 알랜콕스용을 패치하고, ARM용 패치, StrongARM용 패치, 이지보드패치
순으로 하였습니다.
그런데 ARM용 패치에서 HOW TO문서에는 ARM패치하기 전에 rm -rf linux-
org1/, ...., cp -dpR linux linux-ac11-org, ........ 등등 4개의 명령을
더 넣어주던데 이것은 왜 해주는 것인지여???
전 이것은 안해주었습니다.
이렇게 커널을 패치시켰더니, /ez/sw/kernel 안에 linux폴더가 생겼습니다.
그래서 Makefile에서 INCLYDEDIR = /ez/sw/kernel/linux/include 이렇게 해주
었구여.. CC = arm-linux-gcc 이렇게 해주었습니다.
이렇게 해주는것인 맞는지여??
이렇게 해주고 게시판에 있는 gpio예제소스를 컴파일해 보았는데 gpio.o를 만
드는데 있어서 오류가 발생합니다.
물론 test프로그램은 gcc로 그냥 컴파일 하여 실행파일을 생성할 수 있었고
여..
몇일째 들여다 봐도 왜 그런지 모르겠네여... ㅡㅡ
바쁘시더라도 답변 부탁드릴게여...
참, 그리고 gpio.c에 보니까 헤더파일 정의에서 asm으로 되어있던
데 /ez/sw/kernel/linux/include안에는 asm은 없더군여.. 그래서 asm-arm으로
바꾸어 주었습니다.
첨부파일로 컴파일시 나타나는 상황(오류)을 올렸습니다.
[root@sch test]# make
arm-linux-gcc -D__KERNEL__ -DMODULE -Wall -O2 -I.. -
l/ez/sw/kernel/linux/include -c -o gpio.o gpio.c
In file included from /ez/sw/kernel/linux/include/linux/ext3_fs_i.h:19,
from /ez/sw/kernel/linux/include/linux/fs.h:302,
from gpio.c:10:
/ez/sw/kernel/linux/include/linux/rwsem.h:27:
asm/rwsem.h: ?? ???? ????? ??
In file included from /ez/sw/kernel/linux/include/asm-arm/uaccess.h:7,
from gpio.c:15:
/ez/sw/kernel/linux/include/linux/sched.h:20: asm/mmu.h: ?? ???? ????? ??
In file included from /ez/sw/kernel/linux/include/linux/sem.h:4,
from /ez/sw/kernel/linux/include/linux/sched.h:24,
from /ez/sw/kernel/linux/include/asm-arm/uaccess.h:7,
from gpio.c:15:
/ez/sw/kernel/linux/include/linux/ipc.h:21:
asm/ipcbuf.h: ?? ???? ????? ??
In file included from /ez/sw/kernel/linux/include/linux/sched.h:24,
from /ez/sw/kernel/linux/include/asm-arm/uaccess.h:7,
from gpio.c:15:
/ez/sw/kernel/linux/include/linux/sem.h:35:
asm/sembuf.h: ?? ???? ????? ??
make: *** [gpio.o] 오류 1
[root@sch test]#