4,550,024 th visitor since 2017.2.1 ( Today : 6416 )
Computer ???
No. 360
Name. swindler
Subject. kext 설명
Main Cate. Mac
Sub Cate.
Date. 2009-04-24 16:47
Hit. 8462 (211.36.27.8)
File.
.kext 에 관하여...

최근들어 해킨에 관심을 갖고 새로 도전하시는 분들이 많아지고 있음을 느낌니다. 각종 질문들이 많아지고 있고요. 저도 초보지만 초보적인 관점에서 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& amp;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를 활성화시켜주는 것입니다.

a. 터미널을 이용한 수동설치 ( by niky: 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)

터미널을 여신후 sudo -s, password 입력후 다음처럼 따라하시면 됩니다.

chmod -R 755 /System/Library/Extensions/aaa.kext 엔터(aaa.kext는 해당 kext 이름...되도록 대소문자도 구별하시는게 좋습니다.)
chown -R root:wheel /System/Library/Extensions/aaa.kext 엔터

하시면 일단 기본적인 권한은 설정 됩니다.
그런후
kextload -t /System/Library/Extensions/aaa.kext 엔터
해서 권한을 설정한 kext 파일을 제대로 로딩되는지 확인해보시구요.(여기서 성공이라는 메세지가 나와야합니다.)
모든 kext 파일의 권한을 다 설정했다면
exit 엔터후 Reboot하시면 됩니다.

b. kexthelper, OSXTools, kextutility: 이 세가지 어플은 자료실에 있습니다. 따라서 다운받아서 간단하게 kext 파일을 설치할 수 있습니다. 단, 중요한 점이 있습니다. 이 자동 설치 소프트웨어를 설치해도 설치됐다 풀리는 경우도 있고 제대로 설치가 안되는 경우가 있습니다. 따라서 (a.) niky님의 팁을 꼼꼼히 읽고 수동설치법을 수행하는게 가장 좋은 방법임을 추천합니다.

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 한 후

kextload -t /System/Library/Extensions/aaa.kext (엔터)

또는

cd /System/Library/Extensions/aaa.kext/Contents/PlugIns/ (엔터)
kextload aaa.kext (엔터)

확인하시고 리붓

f. 터미널을 이용한 kext 상태확인

kextstat (엔터)
로드된 켁스트를 보여줍니다. 이 명령어를 이용해서 자신이 패치한 켁스트를 재삼 확인할 수 있거나 어디서 잘못됐나를 확인할 수 있습니다.


http://x86osx.com/bbs/view.php?id=osxtips&no=1368
x86osx jp님의 글

[바로가기 링크] : http://coolx.net/cboard/computer/360



Name
Password
Comment
Copyright © 1999-2017, swindler. All rights reserved. 367,611 visitor ( 1999.1.8-2004.5.26 ), 2,405,771 ( -2017.01.31)

  2HLAB   2HLAB_Blog   RedToolBox   Omil   Omil_Blog