The force that through the green fuse drives the flower / Drives my green age; that blasts the roots of trees / Is my destroyer. / And I am dumb to tell the crooked rose / My youth is bent by the same wintry fever….by Dylan Thomas
최근들어 해킨에 관심을 갖고 새로 도전하시는 분들이 많아지고 있음을 느낌니다. 각종 질문들이 많아지고 있고요. 저도 초보지만 초보적인 관점에서 kext에 관한 팁을 하나 만들어보고자 했습니다. 저도 사실 제대로 이해하는것이 아니라서 혹시 수정이나 보충설명이 필요하다 느끼시는 부분들에 대해 고수님들과 여타 회원님들께서 지적해주시면 감사하겠습니다.
일단 설명의 줄기는 x86project.org/wiki/index.php/Hardware_.kext_Patching_List에서 target=_blank>http://wiki.osx86project.org/wiki/index.php/Hardware_.kext_Patching_List에서 발췌했습니다.
또 니키님(http://x86osx.com/bbs/view.php?id=osxtips&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=reg_update&desc=desc&no=472)의 권한복구 등을 인용했구요.
1. .kext 패치
".kext"란 MAC OSX 시스템의 하부구조라고 볼 수 있는 "kernel extensions" 입니다. 일종의 '장치드라이버'라고도 볼 수 있지만 맥에선 커널 확장자로 불립니다.
".kext"는 단일 파일이 아닙니다. 파일 디렉토리 구조를 갖고 있는 집합체이며 서브폴더에 위치한 파일들과 함께 시스템 커널을 지원하는 확장자의 역할을 하는 것입니다. (예, 마우스 커서로 kext 파일을 우클릭한 다음 show package contents를 선택하면 그 내용물을 확인할 수 있습니다.)
리얼 맥에서는 신경쓸일이 없지만 해킨에서는 자신의 하드웨어 사양에 맞는 해당 ".kext"의 설치가 요구되고요, 하드웨어가 변경됐을 경우 "패치" 작업이 필요한 것입니다.
kext 의 위치는 System/Library/Extensions 입니다.
OSX 업데이트 후 이상 증세가 발견된다면 이전 버젼에서 정상 작동하던 해당 ".kext"를 재설치하는 것으로 해결하실 수 있고요. 아니면, ".kext" 내부에 있는 "info.plist" 의 수정을 통해 문제를 해결할 수도 있습니다.
"info.plist"는 PNP(plug-and-play)형식의 디바이스 아이디 코드로 나타나는 정보이며 따라서 ".kext" 패치가 요구될때 이 디바이스 아이디를 변경해주는 방법으로 같은 효과를 볼 수 있습니다.
".kext"파일을 같은 경로에 복사, 삽입할 경우 반듯이 "권한 복구" (Repair Permission) 작업이 따라줘야 변경된 ".kext"가 제대로 설치됩니다.
2. ".kext" 설치: 그 진행 과정은 Copy>Paste>Repair Permission 순입니다. 다시 말하자면 kext는 사실 설치라기 보다 카피>패이스트>권한복구의 절차를 거치는 것으로 패치가 된다고 보시면 됩니다. 권한복구는 즉, 변경된 kext를 활성화시켜주는 것입니다.
해서 권한을 설정한 kext 파일을 제대로 로딩되는지 확인해보시구요.(여기서 성공이라는 메세지가 나와야합니다.)
모든 kext 파일의 권한을 다 설정했다면
exit 엔터후 Reboot하시면 됩니다.
b. kexthelper, OSXTools, kextutility: 이 세가지 어플은 자료실에 있습니다. 따라서 다운받아서 간단하게 kext 파일을 설치할 수 있습니다. 단, 중요한 점이 있습니다. 이 자동 설치 소프트웨어를 설치해도 설치됐다 풀리는 경우도 있고 제대로 설치가 안되는 경우가 있습니다. 따라서 (a.) 님의 팁을 꼼꼼히 읽고 수동설치법을 수행하는게 가장 좋은 방법임을 추천합니다.
c. info.plist 수정: 해당 kext를 클릭해서 contents 보기 (마우스 우클릭 선택)를 하면 info.plist 를 볼 수 있습니다. 이 파일을 복사해서 데스크톱으로 옮긴 후 texteditor로 수정후 재복사, 덮어씌우기를 합니다.
info.plist 수정은 디바이스 아이디를 정확하게 찾아내고 바꿔줄 아이디를 정확하게 알고 있을때 사용할 수 있습니다. 역시 권한 복구가 필요합니다.
d. 권한복구 (Repair Permission) 방법
가장 쉬운 방법은 application/utility에 있는 disk utility를 사용하는 것입니다. 디스크유틸리티를 실행하시고 해당 하드볼륨을 선택하시고 권한복구(repair permisison)를 눌러주시면 됩니다.
또, 터미널을 이용한 방법으로는 터미널 여시고 sudo -s, password 한 후
chown -R root:wheel /System/Library/Extensions
또는 OSXtools의 Repair Permission을 이용하셔도 됩니다.
e. 터미널을 이용한 kext testing
이미 위 a.)에서 니키님이 설명해주신 것과 마찬가지입니다. 터미널 여시고 sudo -s, password 한 후