도와주세요!!
글 수 15,339
2007.04.27 15:59:19 (*.100.142.134)
6688
* 교재와 함께 제공된 시디에서만 커널 관련 파일을 가져와서(복사) 작업을 했습니다.
* 커널 설치 및 패치 과장은 다음과 같이 했습니다.
1. 시디로부터 "linux-2.6.11.7.tar.gz" 파일을 복사해 와서 tar로 압축 해제 해줬습니다.(매뉴얼 대로)
[root /project/ezboard/kernel]# tar -zxvf linux-2.6.11.7.tar.gz
2. 시디로부터 "linux-2.6.11.7.-ep93xx.patch" 파일을 가져와서 패치 해줬습니다.(매뉴얼 대로)
[root /project/ezboard/kernel] ln -s linux-2.6.11.7 linux <-- 심볼릭 링크 처리
[root /project/ezboard/kernel/linux]# cat ../linux-2.6.11.7.-ep93xx.patch |patch -p1"
3. 시디로부터 "diff-2.6.11.7-ez-ep9312-v03.gz" 파일을 가져와서 패치 했습니다. (매뉴얼 대로)
[root /project/ezboard/kernel/linux]# gzip -cd ../diff-2.6.11.7-ez-ep9312-v03.gz |patch -p1"
<> 위에서 다른 것은 시디에는 "diff-2.6.11.7-ez-ep9312-v02.gz" 파일 없고
"diff-2.6.11.7-ez-ep9312-v03.gz" 파일 있습니다. 즉, v02.gz 이 아니라 v03.gz 파일이 있는
것 말고 다를게 없구요
4. 이제 심볼링 링크 걸으라고 해서 걸어 줬습니다.
[root /project/ezboard/kernel/linux/include]# ln -s asm-arm asm
[root /project/ezboard/kernel/linux/include]# cd asm
[root /project/ezboard/kernel/linux/include/asm]# ln -s arch-ep93xx arch
5. 그리고 위의 과정을 무시하고 하나로 패치된 파일이 있다고 해서 그걸 가지고 또 해봤습니다.
[root /project/ezboard/kernel/]# tar -zxvf linux-2.6.13.5-ep9-v01.tar.gz
그리고 컴파일 했습니다.
1. 디렉토리 이동 후 make clean
[root /project/ezboard/kernel/linux]# make clean <-- 에러가 발생하네요
[root /project/ezboard/kernel/linux]$ make clean
grep: /usr/include/bits/stat.h: 그런 파일이나 디렉토리가 없음
CLEAN include/asm-arm/arch
[root /project/ezboard/kernel/linux]$ make zImage
[root /project/ezboard/kernel/linux]$ make zImage
CHK include/linux/version.h
UPD include/linux/version.h
SPLIT include/linux/autoconf.h -> include/config/*
make: scripts/basic/split-include: 명령을 찾지 못했음
make: *** [include/config/MARKER] 오류 127
[root /project/ezboard/kernel/linux]$
위와 같이 에러가 발생합니다.
물론 크로스 컴파일 환경도 설치 했고요
경로도 잡아줬구요..
버전이 안 맞아서 그런지요.. 각각 파일들이....
혹시나 해서 위의 "5" 번 항목처럼 해봤습니다. 물론 기존 파일과 폴더 내용 모두 지운후에
5번 항목처럼 해봤습니다.
그래서 clean zImage를 했습니다.
[root /project/ez-ep9312/linux]$ make clean
CLEAN arch/arm/boot/compressed
CLEAN arch/arm/boot
CLEAN arch/arm/kernel
CLEAN drivers/char
CLEAN drivers/video/logo
CLEAN init
CLEAN lib
CLEAN usr
CLEAN .tmp_versions
CLEAN include/asm-arm/constants.h include/asm-arm/mach-types.h include/asm-arm/arch include/asm-arm/.arch vmlinux System.map .tmp_kallsyms1.S .tmp_kallsyms1.o .tmp_kallsyms2.S .tmp_kallsyms2.o .tmp_kallsyms3.S .tmp_kallsyms3.o .tmp_vmlinux1 .tmp_vmlinux2 .tmp_vmlinux3 .tmp_System.map
[root /project/ez-ep9312/linux]$ make zImage
CHK include/linux/version.h
HOSTCC scripts/basic/fixdep
scripts/basic/fixdep.c: In function `use_config':
scripts/basic/fixdep.c:201: error: `PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:201: error: (Each undeclared identifier is reported only once
scripts/basic/fixdep.c:201: error: for each function it appears in.)
scripts/basic/fixdep.c:201: warning: unused variable `s'
scripts/basic/fixdep.c: In function `parse_dep_file':
scripts/basic/fixdep.c:297: error: `PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:297: warning: unused variable `s'
make[1]: *** [scripts/basic/fixdep] 오류 1
make: *** [scripts_basic] 오류 2
위와 같이 에러가 납니다.
흐흐... 벌써 일주일째....
또한 아래에 '장형기'님께서 남겨주신 댓글대로
혹시나 해서 따라 해봤는데 문제가 또 나오던군요
[root /project/ez-ep9312/linux]$cp -a .config /project
cp: overwrite `/project/.config'? y
[root /project/ez-ep9312/linux]$make distclean
CLEAN .config
[root /project/ez-ep9312/linux]$make ep9312_defconfig
HOSTCC scripts/basic/fixdep
scripts/basic/fixdep.c: In function `use_config':
scripts/basic/fixdep.c:201: error: `PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:201: error: (Each undeclared identifier is reported only once
scripts/basic/fixdep.c:201: error: for each function it appears in.)
scripts/basic/fixdep.c:201: warning: unused variable `s'
scripts/basic/fixdep.c: In function `parse_dep_file':
scripts/basic/fixdep.c:297: error: `PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:297: warning: unused variable `s'
make[1]: *** [scripts/basic/fixdep] 오류 1
make: *** [scripts_basic] 오류 2
[root /project/ez-ep9312/linux]$
대체 모가 문제일까자..
제거 넘 능력이 부족한거 알지만...
넘 절망적이네요
* 커널 설치 및 패치 과장은 다음과 같이 했습니다.
1. 시디로부터 "linux-2.6.11.7.tar.gz" 파일을 복사해 와서 tar로 압축 해제 해줬습니다.(매뉴얼 대로)
[root /project/ezboard/kernel]# tar -zxvf linux-2.6.11.7.tar.gz
2. 시디로부터 "linux-2.6.11.7.-ep93xx.patch" 파일을 가져와서 패치 해줬습니다.(매뉴얼 대로)
[root /project/ezboard/kernel] ln -s linux-2.6.11.7 linux <-- 심볼릭 링크 처리
[root /project/ezboard/kernel/linux]# cat ../linux-2.6.11.7.-ep93xx.patch |patch -p1"
3. 시디로부터 "diff-2.6.11.7-ez-ep9312-v03.gz" 파일을 가져와서 패치 했습니다. (매뉴얼 대로)
[root /project/ezboard/kernel/linux]# gzip -cd ../diff-2.6.11.7-ez-ep9312-v03.gz |patch -p1"
<> 위에서 다른 것은 시디에는 "diff-2.6.11.7-ez-ep9312-v02.gz" 파일 없고
"diff-2.6.11.7-ez-ep9312-v03.gz" 파일 있습니다. 즉, v02.gz 이 아니라 v03.gz 파일이 있는
것 말고 다를게 없구요
4. 이제 심볼링 링크 걸으라고 해서 걸어 줬습니다.
[root /project/ezboard/kernel/linux/include]# ln -s asm-arm asm
[root /project/ezboard/kernel/linux/include]# cd asm
[root /project/ezboard/kernel/linux/include/asm]# ln -s arch-ep93xx arch
5. 그리고 위의 과정을 무시하고 하나로 패치된 파일이 있다고 해서 그걸 가지고 또 해봤습니다.
[root /project/ezboard/kernel/]# tar -zxvf linux-2.6.13.5-ep9-v01.tar.gz
그리고 컴파일 했습니다.
1. 디렉토리 이동 후 make clean
[root /project/ezboard/kernel/linux]# make clean <-- 에러가 발생하네요
[root /project/ezboard/kernel/linux]$ make clean
grep: /usr/include/bits/stat.h: 그런 파일이나 디렉토리가 없음
CLEAN include/asm-arm/arch
[root /project/ezboard/kernel/linux]$ make zImage
[root /project/ezboard/kernel/linux]$ make zImage
CHK include/linux/version.h
UPD include/linux/version.h
SPLIT include/linux/autoconf.h -> include/config/*
make: scripts/basic/split-include: 명령을 찾지 못했음
make: *** [include/config/MARKER] 오류 127
[root /project/ezboard/kernel/linux]$
위와 같이 에러가 발생합니다.
물론 크로스 컴파일 환경도 설치 했고요
경로도 잡아줬구요..
버전이 안 맞아서 그런지요.. 각각 파일들이....
혹시나 해서 위의 "5" 번 항목처럼 해봤습니다. 물론 기존 파일과 폴더 내용 모두 지운후에
5번 항목처럼 해봤습니다.
그래서 clean zImage를 했습니다.
[root /project/ez-ep9312/linux]$ make clean
CLEAN arch/arm/boot/compressed
CLEAN arch/arm/boot
CLEAN arch/arm/kernel
CLEAN drivers/char
CLEAN drivers/video/logo
CLEAN init
CLEAN lib
CLEAN usr
CLEAN .tmp_versions
CLEAN include/asm-arm/constants.h include/asm-arm/mach-types.h include/asm-arm/arch include/asm-arm/.arch vmlinux System.map .tmp_kallsyms1.S .tmp_kallsyms1.o .tmp_kallsyms2.S .tmp_kallsyms2.o .tmp_kallsyms3.S .tmp_kallsyms3.o .tmp_vmlinux1 .tmp_vmlinux2 .tmp_vmlinux3 .tmp_System.map
[root /project/ez-ep9312/linux]$ make zImage
CHK include/linux/version.h
HOSTCC scripts/basic/fixdep
scripts/basic/fixdep.c: In function `use_config':
scripts/basic/fixdep.c:201: error: `PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:201: error: (Each undeclared identifier is reported only once
scripts/basic/fixdep.c:201: error: for each function it appears in.)
scripts/basic/fixdep.c:201: warning: unused variable `s'
scripts/basic/fixdep.c: In function `parse_dep_file':
scripts/basic/fixdep.c:297: error: `PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:297: warning: unused variable `s'
make[1]: *** [scripts/basic/fixdep] 오류 1
make: *** [scripts_basic] 오류 2
위와 같이 에러가 납니다.
흐흐... 벌써 일주일째....
또한 아래에 '장형기'님께서 남겨주신 댓글대로
혹시나 해서 따라 해봤는데 문제가 또 나오던군요
[root /project/ez-ep9312/linux]$cp -a .config /project
cp: overwrite `/project/.config'? y
[root /project/ez-ep9312/linux]$make distclean
CLEAN .config
[root /project/ez-ep9312/linux]$make ep9312_defconfig
HOSTCC scripts/basic/fixdep
scripts/basic/fixdep.c: In function `use_config':
scripts/basic/fixdep.c:201: error: `PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:201: error: (Each undeclared identifier is reported only once
scripts/basic/fixdep.c:201: error: for each function it appears in.)
scripts/basic/fixdep.c:201: warning: unused variable `s'
scripts/basic/fixdep.c: In function `parse_dep_file':
scripts/basic/fixdep.c:297: error: `PATH_MAX' undeclared (first use in this function)
scripts/basic/fixdep.c:297: warning: unused variable `s'
make[1]: *** [scripts/basic/fixdep] 오류 1
make: *** [scripts_basic] 오류 2
[root /project/ez-ep9312/linux]$
대체 모가 문제일까자..
제거 넘 능력이 부족한거 알지만...
넘 절망적이네요