커널모듈컴파일
페이지 정보
작성일 22-12-23 13:20
본문
Download : 커널모듈컴파일.hwp
__NO_VERSION__을 사용하여 KERNEL_VERSION(2,4,18)로도…(To be continued )
Download : 커널모듈컴파일.hwp( 37 )
다.
커널모듈컴파일
,기타,레포트
설명
[root@dongq hw6]# cat /proc/clock
1070456565값이 Dynamic 하게 변하는 것을 볼수가 있다아
467646
[root@dongq hw6]# ./hw06_demo
xtime variable (tv_sec , tv_usec) : 1070456572 507646
4. 커널 컴파일 및 커널 모듈 작성시 問題點
이번 program의 가장 큰 問題點은 바로 커널 버전문제이다.커널모듈컴파일 , 커널모듈컴파일기타레포트 ,




순서
커널모듈컴파일
레포트/기타
커널모듈컴파일에 대해 조사하였습니다. proc_fs.h 파일이 버전의 업데이트됨에 따라 많은 alteration(변화) 를 겪게 되어서 해당 이전버전의 모듈형식으로는 제어가 불가능했다. 커널모듈컴파일에 대해 조사하였습니다.
누리망 을 통해 여러 가지 해결책을 찾아보고 실행도 해보았으나 뾰족이 동작을 하지 않았다. 많은 에러 및 warning과 함께.
1) 이번 Task 프린트에 나와있는 proc_register(), pro_unregister()대신에 create_proc_read_entry() (읽기용), remove_proc_entry()를 사용하여 형식에 맞게 제어하였다.
#ifndef _SIZE_T
#define _SIZE_T
typedef __kernel_size_t size_t;
#endif
#ifndef _SSIZE_T
#define _SSIZE_T
typedef __kernel_ssize_t ssize_t;
#endif
3) version의 불일치로 인한 insmod 에러
지금 현재 내 컴퓨터(version 2.4.20), program 커널 동작버전(2.4.18-4) 버전이 다름으로 인한 mismatch 에러가 발생하였다.
2) 컴파일시 `size_t` 관련해서 kernel.h에서 에러가 발생하였는데
/usr/include/linux.kernel.h:75: parse error before `size_t`
컴파일시에 -I 옵션을 붙여주거나 혹은 kernel.h에 다음부분을 추가함으로써 해결할 수가 있었다.