시스템 사양 선택 | 3번 |
---|
안녕하세요.
3부 내용과 연결시켜 EFI 관련 내용을 좀 더 보완했습니다.
※ 본문에 들어가기 전에
- 이 글은 개념의 이해 같은 원론적인 얘기는 다루지 않고, 방법론적인 측면에서 진행합니다.
- 예시는 데스크탑으로 노트북의 경우도 시작 지점에서는 별반 다르지 않아 따로 언급하지 않습니다.
- 내용이 많아서 어려워 보이지만 사진이 대부분이고 글자는 얼마 없으니 부담없이 보시면 됩니다.
- 사진은 클릭하면 커집니다.
※ 해킨은 설치 시 약 3~6회 정도 재부팅을 합니다. 설치가 완전히 끝날 때까지 절대 부팅 USB를 제거하지 마시기 바랍니다.
* 필수 프로그램(파일)
- ProperTree GitHub - corpnewt/ProperTree: Cross platform GUI plist editor written in python.
- GenSMBIOS GitHub - corpnewt/GenSMBIOS
- USBToolBox GitHub - USBToolBox/tool: the USBToolBox tool
1. ProperTree
3부에서 ProperTree 사용 시 'OC Clean Snapshot'과 'OC Snapshot'을 활용하면 config.plist 편집이 쉬워진다고 말씀드렸습니다. 이 두 기능이 대체 뭐길래 그런 얘기를 했는지 알아보겠습니다.
1-1. OC Clean Snapshot
'OC Clean Snapshot'은 config.plist의 현재 내용을 모두 지운 뒤 EFI - OC 폴더에 있는 내용을 바탕으로 새로 생성합니다. 즉, config.plist를 초기화 후 EFI(OC)에 맞게 자동으로 변경한다고 이해하시면 됩니다. 실제로 그런지 살펴봅시다.
오픈코어 패키지의 EFI - OC에 있는 폴더들을 살펴보면 다음과 같습니다.
내용이 있는 폴더와 없는 폴더가 있는데, 예시의 시스템에 맞는 파일을 수집, 해당 위치에 복사한 결과 다음과 같습니다.
변경한 EFI 폴더의 내용에 맞게 config.plist를 편집할 차례입니다. config.plist를 엽니다.
(3부에서 소개 및 아래 링크에 나온 것처럼) 'Sample.plist'에서 'config.plist'로 파일 이름만 변경한 상태입니다.
config.plist Setup | OpenCore Install Guide (dortania.github.io)
'OC Clean Snapshot'을 선택하면 'Select OC Folder'라는 창이 뜹니다. 'EFI - OC' 를 선택 후 '폴더 선택' 단추를 누릅니다.
'ACPI - Add'에 SSDT-xxxx.aml이 16개나 있었는데 모두 사라지고, 'EFI - OC - ACPI'에 넣어 놓은 SSDT-EC.aml과 SSDT-PLUG.aml 두 개만 남았습니다. 이게 'OC Clean Snapshot'의 편리하면서 강력한 기능입니다.
그러면 앞으로 EFI를 편집할 때마다 'OC Clean Snapshot'을 사용하면 될까요? 아닙니다. 주의할 점이 있습니다.
1-2. OC Snapshot
'OC Snapshot'은 'OC Clean Snapshot'과 달리 변경된 사항만 config.plist에 반영합니다. 즉, 파일 여부 이외에 기존에 설정한 값들은 그대로 둡니다.
설명만으로는 안 와닿을 수 있으니 사진으로 비교해보죠. 상황은 위 내용에서 SSDT-EC.aml을 사용 안 함(비활성화, False)으로 바꾸고, SSDT-IMEI.aml이라는 파일을 추가해 볼 겁니다.
이 상태에서 'OC Clean Snapshot' 을 먼저 해봅시다.
SSDT-EC.aml을 사용 안 함(False)으로 설정했는데, 사용함(True)으로 바뀌었습니다. 그리고 SSDT-IMEI.aml을 나중에 추가했는데 순서도 제멋대로 두 번째로 가 있습니다.
이전으로 돌아와서 'OC Snaptshot'을 하면 어떻게 다른지 보겠습니다.
'OC Snatshot'을 사용한 경우 SSDT-EC.aml이 사용 안 함(False) 그대로이고, 추가한 파일 순서도 기존 파일 다음에 위치해 있습니다.
이제 ProperTree를 쉽고, 편리하게 사용하려면 어떻게 해야 하는지 확실히 아시겠죠?
정리하면 EFI를 처음 편집(작성)할 때 'OC Clean Snapshot'을 사용하고, 그 이후에는 'OC Snapshot'을 사용하세요.
1-3. 켁스트(Kexts) 순서대로 정렬하기 (4부에서 가장 중요)
해킨질답에서 댓글들을 살펴보면 '오픈코어 최신 버전으로 업데이트 하시고, 켁스트 순서를 Lilu, VirtualSMC, WhateverGeen, AppleALC 및 기타' 순으로 정렬해주세요.'라는 내용이 많이 보입니다.
1-3-1. 켁스트(Kexts) 순서는 왜 중요한가?
Dortania Guide에 다음과 같은 설명이 있습니다.
Desktop Coffee Lake | OpenCore Install Guide (dortania.github.io)
쉽게 얘기하면 '켁스트 로드에는 순서가 있고, Lilu는 VirtualSMC, AppleALC, WhateverGreen 등보다 먼저 나와야 한다'입니다. 순서대로 정리하는 건 별 일이 아니라서 그냥 하면 되지만 왜 그래야 하는지 좀 더 살펴봅시다.
Gathering files | OpenCore Install Guide (dortania.github.io)
Lilu 없이는 VirtualSMC, WhateverGreen, AppleALC가 작동하지 않는다고 나옵니다. 그리고 그 이유는 VirtualSMC, WhateverGreen, AppleALC가 Lilu에 종속되어(Dependent) 있기 때문이라고 합니다.
얘기가 나온 김에 하나만 더 살펴보죠.
Gathering files | OpenCore Install Guide (dortania.github.io)
VirtualSMC에 딸린 것들(Plugins)이 많네요. SMCxxx.kext들이 모두 VirtualSMC에 종속되어 있습니다.
이 얘기는 뭐다? 네, 맞습니다 SMCxxxx.kext는 순서 상 VirtualSMC 이후에 나와야 합니다.
이제 왜 Lilu, VirtualSMC, WhateverGreen, AppleALC 그리고 나머지 순서로 켁스트를 정렬해야 하는지 이해하실 수 있을 겁니다.
1-3-2. 왜 오픈코어와 켁스트의 최신 (Release) 버전을 사용하라고 하는가?
오픈코어 버전과 켁스트의 버전이 안 맞을 경우 오류가 발생하는 경우가 종종 있습니다.
위에서 언급한 종속성(Dependency)과 연관된 경우도 있고, 오픈코어 버전이 업데이트 되면서 기존의 문제점이나 편의성이 개선되는 경우도 있기 때문입니다.
1-3-3. 켁스트 순서 변경하기
ProperTree에서 'OC Clean Snapshot'이나 'OC Snapshot'을 하면 다음과 같이 정렬됩니다.
'Lilu, VirtualSMC, WhateverGreen, AppleALC 그리고 나머지' 순서로 정렬인데, 그렇게 안 되어 있죠? 이 부분은 수동으로 해줘야 합니다. (엄밀히 따지면 연속된 순서여야만 한다라는 얘기가 없고, ProperTree에서 자동으로 지정한 위 순서로 오류가 안 날 수 있습니다. 하지만 가능하면 디버그나 기타 편의 상 연속되게 정렬하는 게 좋습니다.)
위 사진 왼쪽에 보면 '노란색 네모칸 안의 숫자'를 볼 수 있습니다. 이 숫자를 마우스를 이용해 끌어다 놓기로 위, 아래로 움직인 후 순서를 변경하고, 다 끝나면 저장합니다.
2. GenSMBIOS
Dortania Guide의 Configs에서 각 시스템에 관한 내용을 보면, 처음 시작할 때 필요한 프로그램(파일)으로 ProperTree, GenSMBIOS 그리고 config.plist가 나옵니다. 그 중에서 GenSMBIOS 사용에 대해서 알아보겠습니다.
SMBIOS가 뭔지 검색을 해보면 'SMBIOS는 System Management BIOS로 시스템 펌웨어를 통해 관리 정보를 제공하기 위한 표준이고, macOS에게 어떤 하드웨어를 사용 중인지 알려줘서 macOS가 그 하드웨어에 최적화된 방식으로 설정될 수 있게 한다. 애플 컴퓨터에서 SMBIOS는 펌웨어에 저장되며 제품 모델, 보드 ID, 펌웨어 기능, 일련 번호 등과 같은 몇 가지 중요한 데이타를 포함한다. 모든 애플 컴퓨터는 고유한 SMBIOS 정의를 사용하여 CPU 전원 관리, 그래픽, USB 및 인코딩과 같은 하드웨어 리소스와 통신하는 방법을 macOS에 지시한다. SMBIOS는 iMessage 또는 FaceTime을 활성화 할 때 Apple ID에도 영향을 줄 수 있다.'라는 내용이 어딘가에 나옵니다.
뭔가 복잡하고 이해하기도 쉽지 않죠?
인증 정보를 넣어야 윈도우(MS Windows)를 사용할 수 있는 것처럼 편의 상 'macOS를 사용하려면 필요한 정보가 SMBIOS고, SMBIOS를 생성하기 위한 도구가 GenSMBIOS다'라고 간단하게 이해하고 넘어가면 될 것 같습니다.
리얼 맥의 펌웨어에는 SMBIOS가 포함되어 있으나 해킨 시스템의 펌웨어에는 macOS에서 요구하는 정보가 없으므로 config.plist를 통해 SMBIOS 정보를 macOS에게 넘겨줍니다. 따라서 GenSMBIOS로 SMBIOS 정보를 생성하고, 이 정보를 config.plist에 기록하는 게 여기에서 다루는 내용입니다.
이제 GenSMBIOS 사용법을 알아보겠습니다. (예시의 해킨에 필요한 정보는 다음과 같습니다.)
Desktop Coffee Lake | OpenCore Install Guide (dortania.github.io)
GenSMBIOS 파일(Zip)을 내려받고 압축을 푼 후 실행합니다.
'1'을 입력하고 엔터를 누릅니다. (Install/Update MacSerial)
'2'를 입력하고 엔터를 누른 후 윈도우 탐색기에서 config.plist를 마우스로 'Please select an option:' 옆으로 끌어다 놓은 뒤 엔터를 누릅니다. (Select config.plist)
'3'을 입력하고 엔터를 누른 뒤 본인 시스템에 맞는 맥 모델명을 적고 엔터를 누릅니다. (Generate SMBIOS)
'config.plist - PlatformInfo - Generic'에서 해당 항목들에 SMBIOS 정보가 잘 들어가 있는 걸 확인할 수 있습니다.
3. USBToolBox
USB 포트 매핑(Mapping)을 안 하는 경우 (USB 포트를 제대로 인식하지 못해) 설치 시 오류가 발생하거나, 설치를 완료 하더라도 실사용 중 문제가 발생합니다.
USB 매핑에 대해 모르는 경우 보통 USBInjectAll.kext를 사용하여 설치를 마친 후 나중에 USB 매핑을 해주는 경우가 많습니다.
(※ 주의 : USBInjectAll.kext는 인텔 8(9)세대 이하 CPU 시스템용으로, 인텔 10세대 이상 및 AMD CPU 시스템에는 적용 불가)
Release USBInjectAll v0.8.0 · daliansky/OS-X-USB-Inject-All · GitHub
하지만 USB 매핑을 할 줄 알면 번거롭게 두 단계로 나눌 필요없이, 처음부터 USB 매핑한 정보를 EFI에 반영하고 설치를 하면 됩니다. (자세한 정보는 아래 링크 참고 바랍니다.)
초급편 - USB Mapping 한 방에 끝내기, USBToolBox (x86.co.kr)
4부는 여기까지입니다.
(누락 또는 잘못된 내용이나 오탈자 등 오류가 있는 경우 댓글로 말씀해주시면 수정하겠습니다.)
Stultus님의 새글 알림을 받으실려면 구독
맨날 남에 EFI로 해킨을 하다보니 똥인지 된장인줄 몰랐는데 이글을 천천히 읽어보니 조금 이해가 되네요
감사합니다 1부 부터 정독하겠습니다 감사합니다
정말 내용이 엄청나네요~ 감사합니다. dortania 가이드 보다가 완전 맨붕이었는데 여기서 희망을 얻네요 ^^
처음부터 여러번 보는중인데요 중간중간 이해가 안가는게 너무 많고요. 아무래도 시간을 덜 할애해서 그런지 아니면 나이가 먹어서(이제 50중반입니다 ^^;) 인지 머리에 잘안들어오네요 일단 개념자체가 안잡혀요
오픈코어로 부트해서 그안에 최소요구되는 파일들이 로드된이후에 하드웨어에 맞는 여러설정, 그러니까 드라이버,켁스트등을 만지다보면 이게 맞는건지 확신도 안들고 하드웨어에 맞추어서 이것저것 만드는것자체가 재미일수도 있지만 그 과정이 저에게는 너무 복잡하고 어렵네요 조금더 자세히 읽어보고 계속도전하면 언젠가는 되겠지요? Stultus님 글보면서 계속공부하고 있습니다 지금 거의 2주넘게 하는데 다른방법으로는 가끔 되기도 하는데 그래도 원리나 과정이 내가 알수 있어야하겠다 싶어서 계속다시깔아보고 도전하는중입니다.
감사합니다.
데스크탑에 비해 노트북 해킨이 훨씬 더 복잡하고 어려우니, 조급해하지 마시고, 스트레스를 안 받는 선에서 하나씩 해보세요.
처음부터 완벽하게 만들기보다, 해보고 안 되는 부분이 생기면 그때마다 질문 게시판을 이용하세요. 고수들이 잘 알려드릴 겁니다.
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|
macOS Ventura 13.7 22H123 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체 공개 +2 | 좌절금지 | 24.09.1917:09 | 61 |
macOS Sonoma 14.7 23H124 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체공개 +13 | 좌절금지 | 24.09.1723:58 | 170 |
[중급편] 노트북 해킨 +8 | Stultus | 24.07.1219:19 | 747 |
[초급편] 문제 스스로 해결하기 +17 | Stultus | 24.03.2920:07 | 3526 |
[입문편] 첫 해킨 길라잡이 +32 | Stultus | 24.01.1218:54 | 4293 |
[필독 - 안정화] macOS 해킨토시 설치 후 안정화 작업 목록 및 글타래 모음 총정리 📋 +63 | shl628 | 23.01.0913:39 | 5만 |
Sonoma 14.7(23H124) i9-12900, GA-Z690 Proart Creator + BCM WiFi Support +2 | 좌절금지 | 24.09.1722:40 | 190 |
2020 그램 sonoma efi 15Z90N +1 | 맥가즈아 | 24.09.1717:13 | 85 |
macOS Sequoia 15 설치 후기 + Bcm94360NG WiFi 작동함 | 좌절금지 | 24.09.1919:17 | 140 |
좌절금지 | 24.09.1919:17 | 141 | |
좌절금지 | 24.09.1917:09 | 61 | |
Stultus | 24.09.1813:37 | 144 | |
좌절금지 | 24.09.1723:58 | 170 | |
좌절금지 | 24.09.1722:40 | 191 | |
맥가즈아 | 24.09.1717:13 | 85 | |
김경석 | 24.09.1708:13 | 214 | |
Panictosh | 24.09.1617:47 | 92 | |
Tamy | 24.09.1504:35 | 463 | |
Stultus | 24.09.1319:18 | 432 | |
치토 | 24.09.1019:44 | 466 | |
머핀X | 24.09.0118:13 | 393 | |
해킨도전자 | 24.09.0112:54 | 293 | |
머핀X | 24.08.3115:34 | 369 | |
화정큐삼 | 24.08.2601:42 | 238 | |
하나브 | 24.08.2422:59 | 206 | |
화정큐삼 | 24.08.2316:25 | 247 | |
CanBe | 24.08.1810:56 | 328 | |
화정큐삼 | 24.08.1800:04 | 205 | |
화정큐삼 | 24.08.1722:03 | 189 | |
jbhlyk | 24.08.1710:14 | 166 | |
Stultus | 24.08.1622:06 | 251 | |
hackillious | 24.08.1511:16 | 159 | |
세유니 | 24.08.1421:30 | 124 | |
Stultus | 24.08.1419:58 | 345 | |
오디세이 | 24.08.1311:26 | 270 | |
좌절금지 | 24.08.1115:46 | 194 | |
티타보르 | 24.08.1111:21 | 141 | |
Stultus | 24.08.1022:46 | 183 | |
오디세이 | 24.08.1022:10 | 390 | |
jbhlyk | 24.08.1019:05 | 126 | |
RogerT | 24.08.0923:20 | 144 | |
좌절금지 | 24.08.0717:18 | 286 | |
RogerT | 24.08.0609:17 | 115 | |
줌바이퍼 | 24.08.0606:14 | 457 | |
jbhlyk | 24.08.0523:34 | 81 | |
수인과윤슈 | 24.08.0521:10 | 185 | |
좌절금지 | 24.08.0521:08 | 836 | |
Stultus | 24.08.0221:07 | 421 | |
Tamy | 24.07.3019:12 | 328 | |
해킨도전자 | 24.07.2915:37 | 260 | |
june119 | 24.07.2813:52 | 206 | |
Stultus | 24.07.2112:43 | 231 | |
BlueGuerrilla | 23.05.0502:19 | 3992 | |
Stultus | 24.07.1219:19 | 747 | |
김태국 | 21.08.0213:10 | 3677 | |
Stultus | 24.07.1122:47 | 215 | |
Stultus | 24.07.1020:44 | 137 | |
Stultus | 24.07.0921:44 | 137 | |
Stultus | 24.07.0820:57 | 223 | |
의정이 | 24.07.0811:28 | 171 | |
Stultus | 24.07.0721:25 | 264 | |
bsiugr | 24.07.0604:41 | 287 | |
애플브리크 | 24.07.0509:56 | 491 | |
광호 | 24.02.1715:21 | 2182 | |
치토 | 24.06.2723:24 | 397 | |
talas | 24.06.2617:24 | 193 | |
블루사탕 | 24.06.2120:58 | 116 | |
gtrfxdsp | 24.06.1609:01 | 510 | |
Mactopia | 24.06.1401:04 | 345 | |
Stultus | 24.06.1120:40 | 725 | |
새콤칠리 | 24.06.1115:07 | 671 | |
좌절금지 | 23.02.2118:35 | 118만 | |
Steer | 24.06.1001:11 | 275 | |
Door | 24.06.0810:09 | 155 | |
Tamy | 24.06.0107:41 | 415 | |
ssdwe346 | 24.05.2923:53 | 299 | |
joy | 24.05.2809:58 | 263 | |
거니 | 24.05.2601:07 | 243 | |
RogerT | 24.05.2520:14 | 247 | |
좌절금지 | 24.05.1812:40 | 908 | |
wjdgkdus | 24.05.1615:02 | 211 | |
Tamy | 24.05.1417:36 | 797 | |
줌바이퍼 | 24.05.1002:04 | 1007 | |
의정이 | 24.05.0821:05 | 144 | |
ryzen | 23.10.0921:28 | 2402 | |
챠니앤차니 | 24.05.0319:15 | 144 | |
챠니앤차니 | 24.05.0220:17 | 173 | |
고맹이 | 24.05.0210:00 | 631 | |
shl628 | 24.04.3013:54 | 1067 |
글 작성...고생 하셨네요
좋은 하루 되세요
감사합니다