앞선글에서 기본적인 device injection을 ssdt.aml과 config.plist의 Arbitrary를 이용한 방법을 알아보았습니다. 디바이스 이외에 method도 ssdt로 over-ride할수 있습니다. 이번글에서 예를 들어 몇가지 알아 보겠습니다.
1. 클로버 부트로더는 config.plist를 통해 DSDT.aml을 fix 하는 기능들을 제공합니다. 그중에서 많은 유저들이 사용하는 shutdown fix기능을 보겠습니다. 이 기능은 제가 처음 dsdt를 접했을때 부터 많이 사용하는 패치 입니다. 이는 _PTS : Prepare To Sleep method를 수정하는 방법입니다.
아래의 코드는 GA X299 Ultra Gaming's DSDT의 _PTS입니다.
shutdown fix후의 코드는 아래와 같은 형태가 될것입니다.
이는 dsdt를 수정하지 않고도 구현할수 있습니다.
2. How to
_PTS의 hex number는 5F 50 54 53 입니다. dsdt에서 이는 한곳에서만 존재합니다.
_PTS를 config.plist를 이용하여 ACPI spec에의 reserved word가 아닌 name으로 변경하여 disable시키고 이를 ssdt에서 불러오는 방식으로 over-ride를 합니다. 여기에서는 XPTS로 변경합니다.
아래와 같이 config의 해당 항목을 만듭니다.
이제 ssdt를 열어 아래와 같이 변경된 method를 불러 옵니다. 여기에서 중요한것은 _PTS의 path인데 이는 dsdt에 맞추어 root로 합니다.
이제 ssdt를 ACPi->Patched에 넣고 재부팅을 해 shutdown이 되는지 확인합니다. 제가 사용하는 C602 칩셋에서는 정상 작동합니다.
3. 마찬가지로 _INI : Initialize method도 over-ride시킬수 있습니다. 여기서는 OSYS에 0x0F 값을 넣는것입니다.
아래와 같이 config.plist의 해당 항목을 만듭니다. 명심해야 할것은 오직 하나의 위치에서 패치되어야 한다는 것입니다.
이제 ssdt를 열어 다음과 같이 만들어 줍니다.
4. 위와 같은 Method를 이용하는 방법으로 _PRW 나 GPRW같은 파워 method도 override할수 있습니다. Initialize하는것은 Virtual device 를 하나 만들어서 _INI method를 넣어 인식 시키는 방법도 있는데 한번 해 보시기 바랍니다.
대략적으로 기본적인 dsdt 패치와 ssdt를 이용한 injection을 알아 보았습니다. 이 방법들이 절대적인것은 아니고 여러가지 방법으로 같은 효과를 내는 것들이 있으니 시도해 보십시오. 한번에 하나씩 해결 하는 방법이 병행되어야 할듯 합니다. 저도 적용하기 위해서 수백번도 더 컴퓨터를 재부팅했었으니까요... 저 같은 시행착오를 겪지 않으시길 바랍니다.
도움이 되었으면 합니다.
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 조회 수 | 날짜 | 글쓴이 |
---|---|---|---|
macOS Sequoia 15.0.1 24A348 정식버젼 고스트 이미지 OC 1.0.2 ft: 전체공개 +30 | 954 | 24.10.1121:10 | 좌절금지 |
오픈코어 1.0.2 +23 | 587 | 24.10.0900:22 | 줌바이퍼 |
[중급편] 노트북 해킨 +16 | 1417 | 24.07.1219:19 | Stultus |
macOS Ventura 13.7 22H123 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체 공개 +17 | 581 | 24.09.1917:09 | 좌절금지 |
macOS Sonoma 14.7 23H124 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체공개 +31 | 912 | 24.09.1723:58 | 좌절금지 |
[초급편] 문제 스스로 해결하기 +20 | 4011 | 24.03.2920:07 | Stultus |
[입문편] 첫 해킨 길라잡이 +40 | 5106 | 24.01.1218:54 | Stultus |
[필독 - 안정화] macOS 해킨토시 설치 후 안정화 작업 목록 및 글타래 모음 총정리 📋 +67 | 5.1만 | 23.01.0913:39 | shl628 |
118 | 24.10.2322:26 | 뿌엥 | |
137 | 24.10.2321:29 | 해킨도전자 | |
120 | 24.10.2319:04 | 사노라맨 | |
806 | 24.10.1412:27 | shl628 | |
706 | 24.10.1316:00 | 수박 | |
349 | 24.10.1222:56 | Stultus | |
954 | 24.10.1121:10 | 좌절금지 | |
741 | 24.10.1115:53 | 수박 | |
587 | 24.10.0900:22 | 줌바이퍼 | |
1417 | 24.07.1219:19 | Stultus | |
1229 | 24.10.0500:31 | 줌바이퍼 | |
569 | 24.10.0410:49 | Tamy | |
754 | 24.09.2923:48 | 머트 | |
629 | 24.09.2822:28 | 머트 | |
465 | 24.09.2808:22 | Tamy | |
896 | 24.09.2321:32 | Stultus | |
995 | 24.09.2210:59 | 좌절금지 | |
648 | 24.09.2203:23 | 누림어멈 | |
1197 | 24.09.1919:17 | 좌절금지 | |
581 | 24.09.1917:09 | 좌절금지 | |
498 | 24.09.1813:37 | Stultus | |
912 | 24.09.1723:58 | 좌절금지 | |
603 | 24.09.1722:40 | 좌절금지 | |
455 | 24.09.1717:13 | 맥가즈아 | |
563 | 24.09.1708:13 | 김경석 | |
234 | 24.09.1617:47 | Panictosh | |
770 | 24.09.1504:35 | Tamy | |
585 | 24.09.1319:18 | Stultus | |
707 | 24.09.1019:44 | 치토 | |
484 | 24.09.0118:13 | 머핀X | |
463 | 24.09.0112:54 | 해킨도전자 | |
547 | 24.08.3115:34 | 머핀X | |
307 | 24.08.2601:42 | 화정큐삼 | |
306 | 24.08.2422:59 | 하나브 | |
321 | 24.08.2316:25 | 화정큐삼 | |
416 | 24.08.1810:56 | CanBe | |
363 | 24.08.1800:04 | 화정큐삼 | |
301 | 24.08.1722:03 | 화정큐삼 | |
201 | 24.08.1710:14 | jbhlyk | |
314 | 24.08.1622:06 | Stultus | |
220 | 24.08.1511:16 | hackillious | |
169 | 24.08.1421:30 | 세유니 | |
419 | 24.08.1419:58 | Stultus | |
377 | 24.08.1311:26 | 오디세이 | |
273 | 24.08.1115:46 | 좌절금지 | |
186 | 24.08.1111:21 | 티타보르 | |
233 | 24.08.1022:46 | Stultus | |
542 | 24.08.1022:10 | 오디세이 | |
168 | 24.08.1019:05 | jbhlyk | |
200 | 24.08.0923:20 | RogerT |
요즘 일을 새로 배운다고 너무 정신이 없어서 이제 봤습니다. ^^
늘 감사합니다.