본문 바로가기

IT/Information

[Hackintosh] 시작하기 (AMD + OpenCore 0.7.4 + Windows환경)

 

OpenCore Install Guide

 

dortania.github.io

* 이 글은 macOS Monterey 설치를 진행하며 2021년 10월에 수정되었고 OpenCore 0.7.4 버전을 이용하고 있습니다. 독자 시점과 설치 OS 버전에 따라 내용이 다를 수 있으므로 opencore 설치 가이드 사이트를 중점으로 보시기 바랍니다.

* 본 세팅 작업은 해킨토시를 설치할 PC에서 진행하시는것을 기본으로 하고있습니다.

* 이 글은 설치 후기 및 경험을 적어놓은 글로 독자의 행동에 대한 어떠한 책임도 지지 않습니다.

 

macOS Monterey 특이사항

 

1. 하드웨어 체크 및 준비물

 

  맥 OS에서 사용할수 있는 하드웨어는 제한적입니다. 특히 NVDIA 그래픽카드와 마더보드에 붙어 있는 WIFI + Bluetooth 카드는 지원여부를 확인해야합니다. 또한 메인보드의 오디오카드가 지원되지 않을수도 있습니다. 그래서 PC하드웨어 사양체크가 필요하고 자세한 내용은 아래 링크에서 확인하실 수 있습니다.

 

Anti-Hackintosh-Buyers-Guide | Anti-Hackintosh Buyers Guide

Anti-Hackintosh-Buyers-Guide An introduction So what is the Anti-Hackintosh Buyers Guide and why should you care about this post? Well, this is a guide of what not to buy when building a Hackintosh and will be kept up-to-date as new hardware comes out. Whi

dortania.github.io

저는 아래 내용으로 하드웨어를 맞춰 진행했습니다. 

 

CPU AMD Ryzen 3700X
Motherboard GIGABYTE AORUS X570 ELETE
GPU SAPPHIRE NITRO+ RX 5700XT
RAM SAMSUNG DDR4 PC4-21300 16G X 2
SSD SAMSUNG 970 EVO 500G

 

또한 macOS를 설치하기 위해서 최소 4GB USB를 준비해야 합니다. 

 

2. USB 생성

2-1. 준비

설치에 앞서 다운로드 해야할 것들이 있습니다. 아래 항목들을 다운받습니다.

 

- OpenCorePkg : OpenCore 의 기초 파일들

- Python : macOS 다운로드 스크립트 실행에 사용

- ProperTree : Window 에서 plist 파일 수정시 사용

2-2. macOS 다운로드

실행을 위해 python 다운로드가 선행되어야 합니다.

 

cmd를 관리자 권한으로 실행합니다.

-> cd "다운받은 OpenCorePkg Path\utilities\macrecovery" 명령어를 실행하여 이동

-> 아래 os들 중 하나 선택하여 macrecovery.py 스크립트 실행

# Sierra (10.12):
python macrecovery.py -b Mac-77F17D7DA9285301 -m 00000000000J0DX00 download

# High Sierra (10.13)
python macrecovery.py -b Mac-7BA5B2D9E42DDD94 -m 00000000000J80300 download
python macrecovery.py -b Mac-BE088AF8C5EB4FA2 -m 00000000000J80300 download

# Mojave (10.14)
python macrecovery.py -b Mac-7BA5B2DFE22DDD8C -m 00000000000KXPG00 download

# Catalina (10.15)
python macrecovery.py -b Mac-00BE6ED71E35EB86 -m 00000000000000000 download

# Big Sur (11)
python macrecovery.py -b Mac-42FD25EABCABB274 -m 00000000000000000 download

# Latest version
# ie. Monterey (12)
python ./macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000000000 download

그럼 아래와 같이 BaseSystem 파일이 2개 생깁니다.

만약 python 명령어가 실행되지 않는다면 환경변수를 등록해줘야 합니다. 

2-3. USB 초기화 및 기초파일 준비

준비된 USB의 이름은 EFI, 포멧은 FAT32으로 변경합니다.

윈도우에서 USB 메모리의 초기화 및 포멧변경은 디스크 관리 에서 하실수 있습니다. 

포멧된 EFI USB안에 com.apple.recovery.boot 폴더를 만들고 2-2 에서 생성된 BaseSystem 파일 2개를 넣습니다.

다운로드한 OpenCorePkg/X64/EFI 를 복사하여 EFI USB 안에 복사합니다.

 

그럼 아래와 같이 EFI USB 안에 2개의 폴더가 있게 됩니다.

3. 세팅

설치 USB에 기본적인 틀이 설치되었지만 추가 또는 제거해야할 것들이 있습니다. 글 맨위에 말씀드렸다시피 버전에 따라 달라질 수 있으므로 기본적으로 설치 가이드 홈페이지를 참조해주시 바랍니다.

3-1. Tools, Drivers폴더 안 파일들 제거

EFI/OC/Tools/ (OpenShell.efi 빼고 다 삭제)
EFI/OC/Drivers/ (OpenRuntime.efi 빼고 다 삭제)

3-2. Drivers, Kexts폴더 파일 추가

- Drivers

MUST HAVE
 - HfsPlus.efi 
 - OpenRuntime.efi 

- Kexts

Required
 - VirtualSMC  
 - Lilu  
 - WhateverGreen   

Audio
 - AppleALC  

Ethernet (택 1)
 - IntelMausi  :  인텔 NICs 용
 - SmallTreeIntel82576 kext  :  인텔 i211 NICs, 대부분의 AMD 보드용
 - AtherosE2200Ethernet  :  Atheros and Killer NICs 용
 - RealtekRTL8111  :  Realtek 기가비트 이더넷 용
 - LucyRTL8125Ethernet  :  Realtek 2.5Gb 이더넷 용

Extras
 - NVMeFix  :  NVMe 사용

저는 마더보드가 *인텔 i211을 사용하기 때문에 SmallTreeIntel82576을 다운받았고 NVMe도 사용하기 위해 NVMeFix 도 받았습니다. 가이드를 보시면 몇개의 옵션들이 더 있는데 자신의 하드웨어 사양에 따라 고르시면 됩니다.

 

이렇게 다운로드 된 파일들을 USB에 옮겨 줍시다.

Drivers 파일들  ->  EFI/OC/Drivers/
Kext 파일들  ->  EFI/OC/Kexts/

Kext 다운받은걸 보면 여러파일들이 있을텐데 .kext 만 USB로 옮겨주면 됩니다.

 

⚠️ macOS Monterey 에서 SmallTree kext 작동이 안되는 이슈가 있습니다. ➡️ 해결방법

 

3-3. ACPI 추가

Prebuild 되어있는 SSDT (.aml 파일)를 사양에 따라 다운받아 EFI/OC/APCI 폴더 안에 넣어주세요.

저는 AMD Ryzen 3700x을 사용하고 있으므로 SSDT-EC-USBX-DESKTOP.aml 파일을 넣었습니다.

3-4. config.plist 추가

다운로드 받은 OpenCorePkg 안에 Document/sample.plist -> EFI/OC/ 폴더로 복사해줍니다.

복사한 EFI/OC/sample.plist 파일의 이름을 config.plist 로 변경해줍니다.

 

 

이렇게 추가/제거를 마치면 결과는 이렇습니다.

4. config.plist 수정

우선 다운로드 한 ProperTree.bat 을 실행하고 oepn 으로 config.plist 파일을 엽니다.

그리고 /EFI/OC 폴더경로로 OC Clean Snapshot (Ctrl + Shift + R) 을 합니다.

그럼 어느정도 적용이 되었지만 수정해야할 부분들이 있습니다. 이부분에서 리스트를 처음부터 끝까지 봐야하니 천천히 하나하나씩 보시면 됩니다. 여기 또한 버전에 따라 달라질수 있으므로 가이드를 메인으로 확인하세요.

저는 Ryzen 버전을 따랐습니다.

4-1 ACPI

 - Add

 

APCI 폴더 안에 있는 파일들이 잘 등록 되어있는지 확인합니다.

4-2 Booter

- Quirks

 

항목 비고
DevirtualizeMmio False TRx40 이면 필요
EnableWriteUnprotector False  
RebuildAppleMemoryMap True  
SetupVirtualMap True B550, A520, TRx40, 새버전 BIOS X570 들은 False로 세팅
SyncRuntimePermissions True  

4-3 DeviceProperties

Skip

4-4 Kernel

- Emulate

항목 비고
DummyPowerManagement True  

 

- Patch

 

AMD 커널 패칭이 되는 곳으로 patches.plist 를 다운받고 아래와 같이 replace 합니다. (* 링크는 AMD Ryzen 전용 패치입니다)

config.plist 안에 Kernel -> Patch 삭제
patches.plist 안에 Kernel -> Patch 복사해서 config.plist 안 Kernel 에 복사

 

복사후 patch 안에 algrey - Force cpuid_cores_per_package 라는 Comment 가 있는 Item은 Replace 의 값을 변경해줘야 한다. 저는 총 3개가 있었고 item0~2번까지 였습니다.

 

B8000000 0000      ->      B8 <core count> 0000 0000

BA000000 0000      ->      BA <core count>  0000 0000

BA000000 0090      ->      BA <core count>  0000 0090

 

<core count> 안에는 자신이 사용하는 CPU의 코어 수16진수로 써줘야 합니다.

 

ex) 8코어일 때  ->  B8 08 0000 0000

      16코어일 때  -> B8 10 0000 0000

 

- Quirks

항목  
PanicNoKextDump True  
PowerTimeoutKernelPanic True  
ProvideCurrentCpuInfo True  
XhciPortLimit True 11.3 이상 macOS 이면 false

4-5 Misc

- Debug

항목
AppleDebug True
ApplePanic True
DisableWatchDog True
Target 67

- Security

항목 비고
AllowNvramRest True  
AllowSetDefault True  
BlacklistAppleUpdate True  
ScanPolicy 0  
SecureBootModel Default  
Vault Optional String Type 입니다.

4-6 NVRAM

- ADD

 

고쳐야 할것은 7C436110-AB2A-4BBB-A880-FE41995C9F82 하위 목록입니다.

 

boot-args 값에 추가할 수 있는 옵션들이 있습니다.

옵션 설명
-v verbose 모드로 맥 부팅시 로그를 볼 수 있다.
debug=0x100  
keepsyms=1  
npci=0x2000 Above4GDecoding 이 활성화되있을 시 필요 없음
alcid=1 AppleALC 를 사용할 시 넣는다.
agdpmod=pikera RX 5000 series 를 사용할 시 넣는다.
nvda_drv_vrl=1 Nvidia  관련

저는 boot-args 값에 아래와 같이 추가했습니다.

debug=0x100 keepsyms=1 alcid=1 agdpmod=pikera

perv-lang:kbd 도 수정해줘야 합니다.

항목 타입
perv-lang:kbd String en-US:0

 

- WriteFlash

 

값을 True로 설정해줍니다.

 

4-7 PlatformInfo

- Generic

 

맥의 기기 정보를 생성하기 위해 GenSMBIOS 다운받아서 실행시킵니다.

1번 Install/Update MacSerial 을 선택해 업데이트 해주고

3번 Generate SMBIOS 를 선택하고 원하는 맥 버전(필자의 경우 MacPro7,1)을 입력하면 시리얼이 생성되는데 다음 목록에 넣습니다.

Type -> SystemProductName
Serial -> SystemSerialNumber
Board Serial -> MLB
SmUUID -> SystemUUID
항목  
ROM 11223300 0000 Mac address 로 6 random bytes

- Automatic

 

값을 True로 설정해줍니다.

 

4-8 UEFI

 

- ConnectDrivers

 

값을 True로 설정해줍니다.

 

- Drivers

 

HfsPlus.efi 와 OpenRuntime.efi 있는지 확인합니다.

 

- APFS

 

macOS Catalina 이전 버전은 값을 업데이트 해줘야 한다고 합니다.

macOS Version Min Version Min Date
High Sierra (10.13.6) 748077008000000 20180621
Mojave (10.14.6) 945275007000000 20190820
Catalina (10.15.4) 1412101001000000 20200306
제한없음 -1 -1

 

- Quirks

항목  
UnBlockFsConnect False HP 마더보드들은 필요

5. BIOS 세팅

 

활성화 비활성화
Above 4G Decoding (없으면 Boot-args 에 npci=0x2000 추가)
EHCI/XHCI Hand-off
OS type: Windows 8.1/10 UEFI Mode
SATA Mode: AHCI

Fast Boot
Secure Boot
Serial/COM Port
Parallel Port
CSM (Compatibility Support Module)

 

6. 부팅하기

설치 USB를 꼽고 부팅 옵션 또는 바이오스에 들어가 USB로 부팅을 실행합니다. (보통 ESC, F2, F10, F12)

 

그럼 위 화면이 나오고 EFI (또는 macOS Base System 또는 Install macOS) 를 선택합니다.

 

그러면 위와 같이 복구모드로 실행됩니다. 이제부터는 macOS 재설치 과정과 동일합니다.

 

디스크 유틸리티에 들어가서 macOS 설치를 위해 디스크를 APFS, GUID 파티션 으로 포멧해줍니다.

 

macOS 재설치를 들어가서 초기화 한 디스크에 macOS를 설치해줍니다.

 

설치가 완료되면 기본 세팅이 시작됩니다.

 

세팅을 완료하면 맥 설치가 완료됩니다. 수고하셨습니다.

 

 

하지만 위 상태는 부팅 시스템이 아직 설치 USB에 있는 상태라서 USB를 꼽은 상태일때만 macOS를 부팅 시킬 수 있습니다.

설치USB 없이 부팅할수 있게 하는 방법은 아래 글을 확인하시면 됩니다.

 

 

[Hackintosh] USB없이 부팅 가능하게 만들기 (Opencore)

* macOS Big Sur 11.0.1, Opencore 0.6.3 환경에서 진행되었습니다. 환경에 따라 방법이 달라질 수 있으니 참고해주시기 바랍니다. * 이 글의 내용은 기본적으로 해킨토시를 다루는 글로 독자의 행동에 대

rosemelon.hwachae.com