디바이스 드라이버 insmod에서 에러가 ...
글쓴이: wsong / 작성시간: 일, 2011/09/04 - 2:22오전
처음에는 컴파일이 안되서, OS의 커널 버전의 소스를 따로 다운받아서, make bzImage하고 난 후에
컴파일 하니까 컴파일은 성공했는데요.
그 다음에 insmode에서 아래와 같은 에러가 나옵니다.
$ sudo insmod hello.ko
[sudo] password for user1:
insmod: error inserting 'hello.ko': -1 Invalid module format
이런 에러는 어떤식으로 해결해야하는 걸까요.
Forums:
...
일단 커널을 받아서 make 로 컴파일 후에 make install modules_install 을 실행시켜서 인스톨하고
부트로더에 다가 추가는 하셨나요?
그렇게 컴파일한 커널로 부팅해서 드라이버를 다시 컴파일 및 insmod 를 해보시기 바라겠습니다
감사합니다. 인스톨을 해야되는거군요. 그런데 인스톨
감사합니다. 인스톨을 해야되는거군요. 그런데 인스톨 하다가 에러가 나오네요.
혹시 이런 경우는 없으셔싼요? --; 디바이스 드라이버 한번 올려보기가 어렵네요 --;
wsong@ubuntu:/usr/src/linux-source-2.6.38/linux-source-2.6.38$ sudo make install modules_install
[sudo] password for wsong:
sh /usr/src/linux-source-2.6.38/linux-source-2.6.38/arch/x86/boot/install.sh 2.6.38.8 arch/x86/boot/bzImage \
System.map "/boot"
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.38.8 /boot/vmlinuz-2.6.38.8
run-parts: executing /etc/kernel/postinst.d/nvidia-common 2.6.38.8 /boot/vmlinuz-2.6.38.8
run-parts: executing /etc/kernel/postinst.d/pm-utils 2.6.38.8 /boot/vmlinuz-2.6.38.8
run-parts: executing /etc/kernel/postinst.d/update-notifier 2.6.38.8 /boot/vmlinuz-2.6.38.8
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 2.6.38.8 /boot/vmlinuz-2.6.38.8
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.38.8
Found linux image: /boot/vmlinuz-2.6.38-8-generic
Found initrd image: /boot/initrd.img-2.6.38-8-generic
Found memtest86+ image: /boot/memtest86+.bin
done
cp: `/usr/src/linux-source-2.6.38/linux-source-2.6.38/modules.order'를 설명할 수 없음: 그런 파일이나 디렉터리가 없습니다
...
왠지 ubuntu 에서 커널을 직접 받아서 설치할려고 하는 것 같네요
ubuntu 저장소에서 커널을 받았으면
다음의 링크를 참조해서 컴파일 하고 부팅하면 될것 같습니다
https://help.ubuntu.com/community/Kernel/Compile 혹은 http://www.ubuntu.or.kr/viewtopic.php?f=9&t=4543
커널을 컴파일해서 부팅한다음에 디바이스 드라이버를 make clean && make 한 다음에
insmod 를 실행해보시기 바라겠습니다
허접한 답변..;;
저도 랜카드쪽에서 이런적이 몇번 있었는데
모드 해제하고 다시하니 되더라구요...
이미 모듈이 insmod 되었을때도 이런 에러가 뜨구요.
rmmod hello.ko
insmod hello.ko
해보세요...
xen으로 부팅하면
insmod 명령이 먹힐때도 있어요..
댓글 감사합니다. lsmod로 확인해보니, 아직
댓글 감사합니다.
lsmod로 확인해보니, 아직 insmod되있지 않은거 같습니다.T_T
Driver Version 확인해보셨어요?
Version 이 달라서 그럴 수도 있습니다.
새로운 커널 받으셔서 커널 컴파일 하신후에 디바이스
새로운 커널 받으셔서 커널 컴파일 하신후에 디바이스 드라이버를 재컴파일하셔야 합니다.
재컴파일 안하시고 기존 드라이버를 올리려고 하신것 같네요.
========================
조직 : E.L.D(Embedded Linux Developer/Designer)
블로그 : poplinux@tistory.com
카페 : cafe.naver.com/poplinux
임베디드 리눅스 관련 프리렌서 지향
댓글 달기