insmod 명령을 사용했는데 이런 error가

bestme의 이미지

# insmod hello_module.o
hello_module.o: kernel-module version mismatch
hello_module.o was compiled for kernel version 2.4.20
while this kernel is version 2.4.20-8smp.

다음과 같은 오류가 나오는데,
1. 커널을 다시 설치
2. GCC compiler를 다시 설치

어떻게 하는 것이 좋을지 궁금합니다.

제가 보고 있는 책은 " 교학사에서 출판한 리눅스 매니아를 위한 커널 프로그램밍 "
사용하고 있는 OS는 Radhat9.0 버젼을 사용하고 있습니다.

그럼

hie의 이미지

아마도 모듈을 컴파일할때 사용한 커널과 현재 PC 부팅시 사용된 커널이 달라서 생기는 문제인것 같네요.

단순한 해결책으로는 모듈 컴파일에 사용되는 커널을 부팅시 사용된 커널로 사용하면 됩니다.

즐프하세요~~

익명 사용자의 이미지

insmod *.o -f 옵션 주면 인서트 될겁니다.