커널 부팅중 모듈을 insmod하다가 invalid module 이슈 발생

no symbol version for module_layout

insmod: can't insert '어쩌구저쩌구.ko': invalid module



1. 문제 원인

원인을 찾아보니 커널 버전과 모듈 버전이 맞지 않아 발생한다고 함


그래서 버전 확인해 보니

모듈 버전

$ modinfo 어쩌고저쩌고.ko      

vermagic:       4.1.20-1.2 SMP mod_unload modversions ARMv7 p2v8 


커널버전

$ uname -r

4.1.20-1.2

$ uname -a

Linux (humax-stb) 4.1.20-1.2 #6 SMP Wed Dec 21 17:49:54 KST 2016 armv7l GNU/Linux

얼핏 보면 같아 보이지만 사실 버전 뒷부분의 정보가 다르다.



2. 문제 해결

이럴 경우 kernel config를 수정하여 해결할 수 있다.

Automatically append version information to the version string 옵션을 꺼서 해결해 주면된다.


커널 config 수정하자!

$ make menuconfig


General setup 메뉴에서 Automatically append version information to the version string 항목 앞에 체크를 풀어 주자.


저장은 아래 Save로 저장 후 Exit로 나가면 된다.


수정 후 다시 빌드 하면 정상 동작하는 것을 확인할 수 있다.

+ Recent posts