타겟보드상에 올릴 드라이버를 컴파일 하기 위해서는 타겟용 커널을 컴파일 해두어야 한다.
(2.4는 잘 모르겠으나 적어도 2.6에서는 그렇다.)
기존 개발 환경은 페도라 코어6를 사용 했었는데 무리가 없었으나
아름다운 인터페이스를 자랑하는 우분투에서 타겟보드를 개발하고자 한다면 몇가지 수정되어야 할 것들이 있다.
그중에 하나가 커널 컴파일시 발생되는 PATH_MAX 오류...
오류내용을 살펴보면 script/mod/sumversion.c 에서 PATH_MAX가 무엇인지 모르겟다는 것인데,
이는 최근 버전의 리눅스에서 발생되는 라이브러리 관련 오류이다.
해결 법으로는 라이브러리 중복 설치와 코드 수정 두가지 방법이 있는데
라이브러리 중복 설치는 다른 문제를 야기 시킬수도 있으므로
sumversion.c파일의 소스를 수정 하는 것이 바람직 하다.
"script/mod/sumversion.c" 파일 상단 내용 중...
// 생략... #include <string.h> #include "modpost.h" // 생략... |
위의 소스를 아래와 같이 limits.h 파일을 추가 시켜 준다.
// 생략... #include <string.h> #include <limits.h> #include "modpost.h" // 생략... |
이렇게 해도 오류가 난다면
#include <linux/limits.h> |
위 내용을 추가 시켜 준다.