DSDT 추출 및 컴파일
- ssc
- 1044
- 4
ssc님의 기기정보
<펌. 번역> 출처:https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/
1. DSDT 추출
Clover 부팅 화면에서 F4를 누른다. 그럼 EFI/Clover/ACPI/origin에 DSDT와 SSDT가 기록된다.
2. 디어셈블 준비
iasl.zip을 다운로드 폴더에 다운 받는다.
https://bitbucket.org/RehabMan/acpica/downloads/
cd ~/Downloads
unzip iasl.zip
sudo cp iasl /usr/bin
4. 디어셈블
새 폴더를 만들어 DSDT, SSDT들을 복사
(1)
cd "to directory where you placed all SSDT/DSDT"
iasl -da -dl DSDT.aml SSDT*.aml
(2) 스카이레이크 이후 CPU는 보통 -da 옵션을 안 해도 된다.
cd "to directory where you placed all SSDT/DSDT"
iasl -dl DSDT.aml SSDT*.aml
(3) ref.txt로 디어셈블
정의되지 않은 심볼을 외부 정의로 하여 디어셈블하면 혼란 방지가 됨.
External(MDBG, MethodObj, 1)
External(_GPE.MMTB, MethodObj, 0)
External(_SB.PCI0.LPCB.H_EC.ECWT, MethodObj, 2)
External(_SB.PCI0.LPCB.H_EC.ECRD, MethodObj, 1)
External(_SB.PCI0.LPCB.H_EC.ECMD, MethodObj, 1)
External(_SB.PCI0.PEG0.PEGP.SGPO, MethodObj, 2)
External(_SB.PCI0.GFX0.DD02._BCM, MethodObj, 1)
External(_SB.PCI0.SAT0.SDSM, MethodObj, 4)
External(_GPE.VHOV, MethodObj, 3)
External(_SB.PCI0.XHC.RHUB.TPLD, MethodObj, 2)
을 마우스로 긁어 복사한 후,
pbpaste>refs.txt
하면 클립보드 내용이 refs.txt에 들어간다. 그 후,
iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml
결과: DSDT.dcl이 나온다.
5. 에러 수정
MaciAsl 앱 다운로드.
https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/
실행
버전은 5.1로, 환경 설정에서 patch 소스 URL 추가.
https://raw.github.com/RehabMan/Laptop-DSDT-Patch/master
패치할 때 Rehabman의 패치를 활용.
패치와 컴파일이 완료되면 DSDT.AML로 저장
6. EFI/Clover/ACPI/patched에 복사하면 끝.
ssc
댓글 4
❝DSDT Dump 방법과 Decompile #1 - [추천/정리]❞
->결과: DSDT.dsl이 나온다.