@튜토리얼을 따라하고 있어요http://www.embeddedsystemonline.com/home/embedded-system/embedded_linux/lab3-linux-device-driver
이 튜토리얼의 7단계에서는
$ cd /usr/src/kernels/linux-2.6.20.1/drivers/char/examples
$ /sbin/insmod hello1.ko
그런 다음 다음 오류가 발생합니다 (이후 sudo /sbin/insmod hello1.ko
)
insmod: error inserting 'hello1.ko': -1 Invalid module format
lsmod 명령을 사용하여 커널에 모듈이 표시되지 않습니다.
답변1
를 실행하지 않고 명령을 실행해 보세요 sudo
. 대신 루트가 되어 시도해 보세요.
$ sudo su -
$ /sbin/insmod hello1.ko
dmesg
또한 무엇이 잘못되었는지 나타내는 다른 메시지가 있는지 확인하고 modinfo
.
$ modinfo /dir/to/mod/hello1.ko
답변2
다음 사항을 확인하세요.
- 동일한 버전의 커널 소스코드를 이용하여 커널 소스코드를 찾아볼 수 있습니다.여기
동일한 커널을 사용하여 현재 설치된 커널의 구성은 일반적으로 여기에서 찾을 수 있습니다:
/proc/config.gz /boot/config /boot/config-*
올바른 컴파일 도구 체인을 사용하십시오.
답변3
올바른 커널 버전에 대한 헤더를 설치하여 문제를 해결했습니다.
답변4
달리기:
make clean
그런 다음 다시 실행하세요.
make