커널 스터디 문서를 보면 modversions.h 에 대해 에러나는 부분이 많이 있더군요.
음...일반적인 배포판의 /usr/include/linux/modversions.h 를 보게되면...
아주 "일반적인 아주 일반적인 배포판"은 모두 내용이 없습니다.
주석 처리 된 몇줄때문에 컴파일도 안됩니다.
레드햇 7.1, 레드햇 7.2 레드햇을 기반으로 만든 모든 리눅스 배포판 모두 없습니다.
그래서 뒤지고 뒤졌더니, make dep 를 하면 다시 생성될껏이라는 말을 듣고, make dep 를 했지만
결과는 마찬가지, 그래서 소스를 뒤진결과, <1>
커널 2.2.16 밑의
/usr/src/linux-2.2.16/include/linux/modversions.h의 내용은
#include<linux/modsetver.h> 요거 한줄,
<2>
커널 2.4.16 의 소스밑에는 아예 modversions.h 가 없고,
<3>
커널 2.4.7 의 소스 밑에는
/usr/src/linux-2.4.7/include/linux/modversions.h
에는 엄청나게 많은 인클루드 파일들이 있더군요
왜이렇게 다른거죠?<1><2><3>의 경우가 모두 다르니.....어떤게 맞는거죠?
이렇게 다르고, 또 배포판에는 설치도 안되고, 너무 헷깔리는데 이유가 있는건지, 그리고
앞으로도 디바이스 드라이버 작성하려면 이곳을 매번 봐야 할것 같은데 어떻게 해야 default
로 이노무 modversions.h 를 쓸수 있습니까? 컴파일할때마다, -I/usr/src/linux/include 를 옵션으로
쓸수도 없는 노릇 아닐까요? 제가 뭔가를 굉장히 헷깔려 하는것 같은데, 많이 작성하시는
분들 device driver 의 첫강좌 부분부터 이렇게 헷깔리니...답변좀 주세요...그럼...