2013년 7월 4일 목요일

android linux module 설치 시 vermagic 문제 해결

android에 kernel module 올리기(http://dry-kiss.blogspot.kr/search?updated-max=2013-07-04T11:23:00%2B09:00&max-results=1) 에 이어 작성한 글인데 올리지 않고 있다가 이제서야 포스팅.

android용 linux module 설치 시, module의 vermagic 이 맞지 않아 설치가 안되는 경우가 있다.

예를 들면 다음과 같은 메세지가 커널 메세지에 나오고, insmod에 실패한다.

version magic '2.6.29-12345 mod_unload ARMv7' should be '2.6.29-13579 mod_unload ARMv7'

이 경우, 커널 소스의 Makefile 의 최상단에 있는 EXTRAVERSION을 수정함으로써 vermagic의 리눅스 버전 다음 문자열을 바꿀 수 있다.

하지만, 이렇게 변경한 내용을 commit 하지 않으면 다음과 같이 기존 버전넘버와 -dirty 라는 이상한 문자가 붙게 되어 여전히 insmod 에 실패한다.
2.6.29abcd-ge3d684d-dirty mod_unload ARMv7

이는 scripts/setlocalversion 파일에서 git commit 되지 않은 변경사항이 있으면 자동으로 넣어주는 내용이다.

따라서, 해당 파일에서 version magic을 수정하는 부분을 주석 처리하거나, EXTRAVERSION을 변경한 내용을 커밋해 주면 된다.



http://forum.xda-developers.com/showthread.php?t=1236576
http://www.tldp.org/LDP/lkmpg/2.6/html/x380.html

vim에서 spell check

tex 으로 글을 쓰게 되면 spelling check가 조금 귀찮은데,
vim으로 글을 쓴다면 vim에서 쉽게 spelling check를 할 수 있다.

명령모드에서
:set spell spelllang=<language of this text. i.e., en_us>
해주면 스펠링이 잘못된 단어가 빨갛게 빛난다.

커서를 해당 단어에 위치하고
z=
를 입력하면 수정할 단어 목록을 보여주고 쉽게 수정할 단어를 선택할 수 있다.

해제할 땐
:nospell


참고 사이트: