MacOS (Ryzen Hackintosh) 설치 하기
컴퓨터 이야기/운영체제 이야기

MacOS (Ryzen Hackintosh) 설치 하기


 해킨토시(라이젠 버전)를 준비를 마무리하셨다면 본격적으로 MacOS가 본인의 하드웨어를 인식하게 하게끔 각종 Kext 드라이버와 Config.Plist를 수정하는 작업을 해야합니다. 마치 VPN 우회접속과 비슷하다고 생각하시면 됩니다. 이 작업에서 필요한 툴은 아래와 같습니다.

 


준비물


Efi, Graphic, Audio

 

  HFS 볼륨 (예 : macOS 설치 프로그램 및 복구 파티션 / 이미지)을 보는 데 필요합니다. 다른 HFS 드라이버를 혼용하지 마십시오.

 

 실제 Mac에서 발견되는 SMC 칩을 에뮬레이트합니다. 이 macOS가 없으면 부팅되지 않습니다.

 

 다양한 Kext 들을 구동하기 위한 필수 파일입니다.

 

 그래픽 패칭 DRM, boardID, 프레임 버퍼 수정 등에 사용되며, 모든 GPU는이 kext의 혜택을받습니다.

같이 포함되어있는 SSDT-PNLF.dsl 은 랩톱 및 AIO에만 필요합니다.

 

  온보드 오디오를 제공하는 데 사용되는 AppleHDA 패치에 사용됩니다. AMD 15h / 16h에는이 문제가있을 수 있으며 Ryzen / Threadripper 시스템은 마이크를 거의 지원하지 않습니다.

 

이더넷(Ethernet)

 

  게시된 이더넷 중 본인이 사용하시는 메인보드 제조사 홈페이지에 들어가 내장된 랜카드 사양을 확인 하신 후 받아주시면 됩니다. OS를 설치 중 Error 08이라는 오류문구가 뜨면 이더넷 드라이버를 하나 더 추가해주시면 됩니다. 그래야 보드 사양에 맞는 드라이버가 잡히는것 같습니다.


 이제부터는 Config.Plist 를 수정하여 MacOS 설치를 문제 없이 진행하기 위해 필요한 파일입니다. 어려울 수도 있고, 번거롭지만 반드시 해주셔야 하는 작업입니다.

 

SM바이오스를 생성하는 툴입니다. Windows의 정품인증 툴이라고 생각하시면 됩니다.

 

MacOS를 설치하기 위한 가장 핵심 코어파일입니다. 

                           ㄴ (Ryzen)https://github.com/AMD-OSX/AMD_Vanilla/tree/opencore/17hgithub.com/AMD-OSX/AMD_Vanilla/tree/opencore/17h_19h

 

AMD유저를 위한 커널 Patch 파일입니다. 불도저부터 재규어, 젠2까지 나뉘어져 있습니다.


SSDT

SSDT(Secondary System Description Table)란?

 USB 컨트롤러, CPU 스레드, 임베디드 컨트롤러, 시스템 클럭 등과 같은 하드웨어 장치를 설명하는 펌웨어에있는 표입니다. 전달되는 정보의 작은 비트와 함께 대부분의 정보를 보유하는 본문으로 볼 수 있습니다.

 



 

OC폴더 Drivers 폴더 안에 OpenRuntime.efi를 제외한 모든 파일을 제거하고 

위의 링크에서 받은 HfsPlus.efi 파일을 넣어줍니다.

 

SSDT-EC-USBX-DESKTOP.aml을 넣어줍니다.

B550 칩셋 메인보드를 사용하신다면 SSDT-CPUR를 넣어줍니다.

 

  • SSDT-EC-USBX-DESKTOP : 임베디드 컨트롤러와 USB 전원을 모두 수정합니다.
  • SSDT-CPUR : B550 메인보드로 CPU 정의를 수정합니다. AMD B550 시스템이없는 경우 사용하지 마십시오.

Kext 드라이버를 받아서 넣어 주시면됩니다. AMD 유저는 VirtualS MC.Kext 폴더만 넣어주시면 됩니다.

 

 

Opencore-0.6.0-RELEASE 압축파일을 열어주고 DocsSample.plistMacOS 부팅설치 USB EFT - OC 폴더 안에 넣어줍니다.

 

그리고 Config (.plist는 작성하지 마십시오)으로 이름을 바꿔줍니다.


Config.Plist 수정

 

 

Config을 수정하기 위한 필수 툴입니다. ProperTree를 관리자 권한으로 실행 해 줍니다.

 

File에서 Open을 누르고 Config.plist를 불러옵니다.

 

Propertree로 수정하는 작업을 시작합니다.

 

Warning 1~4까지는 단순 경고문이니 지워줍니다.

 

File를 눌러 OC Snapshot을 선택해줍니다.

여기서 부팅USB - EFI - OC폴더 를 선택해줍니다.

 

 ACPI, Kexts, Drivers에 설치한 드라이버가 Config.plist에 자동으로 적용(추가)됩니다.

 

Ctrl + S를 눌러 중간 중간에 저장을 해줍니다.


ACPI

ACPI 카테고리에서

 

ADD탭을 확인 해서 SSDT파일이 정상적으로 등록이 되어있는지 확인 합니다. 


Booter

Quriks

Quirks Enabled Comment
EnableWriteUnprotector False  
RebuildAppleMemoryMap True  
SetupVirtualMap False B550 메인보드는 이 기능을 비활성화합니다.
SyncRuntimePermissions True  

DeviceProperties

DeviceProperties 은 딱히 수정할 일이 없으니 넘어갑니다.


KERNEL

Kernel에서 kext를 잘 넣었는지 확인 해 줍니다. 만약 제대로 등록이 안되어있으면 설치할때 커널 패닉에 걸려 진행이 안됩니다.

Quirks Enable
DummyPowerManagement True
PanicNoKextDump True
PowerTimeoutKernelPanic True
XhciPortLimit True

 

다음은 라이젠 호환 Patch를 갱신 해줘야합니다.

아래의 링크에서 라이젠 호환 커널을 config.plist에 적용해줘야 합니다.

 

Patch에 마우스 우클릭으로 상태창을 연다음 Remove 'Patch' 를 눌러주어 제거해줍니다.

 AMD Kernel : https://github.com/AMD-OSX/AMD_Vanilla/blob/opencore/17h/patches.plist

 

링크를 들어가서 짜여진 코드 전체를 복사해 줍니다. 그리고 아래 사진처럼 메모장을 생성 한뒤 그곳에 붙여넣습니다.

 

그리고 File를 눌러 Open을 선택한 뒤 저장된 경로로 들어가

 

Patches.plist 메모장을 불러옵니다.

 

다운받은 라이젠 커널 plist에 들어가 Patch 카테고리를 클릭 후 [Ctrl] + [C]

 

다시 Config.plist로 돌아와 Kernel 카테고리를 클릭 후 [Ctrl] + [V]

 

새로 추가한 뒤에 [Ctrl] + [S]를 눌러 저장 해 줍니다.

 


Misc

Quirks

Quirks Enabled
AppleDebug True
ApplePanic True
DisableWatchDog True
Target 67

 

Security

Quirks Enabled Comment
AllowNvramReset True  
AllowSetDefault True  
Vault Optional Optional로 설정하는 것을 권장드립니다.
ScanPolicy 0  

NVRAM

boot-args

boot-args Comment
-v 부팅 할 때 텍스트로 상세하게 보여주는 기능이 활성화 됩니다. 부팅 프로세스를 내부적으로 살펴보고 각종 오류 코드나, kext 문제 등을 식별 하는데 도움이 됩니다.
debug=0x100 커널 패닉 시 재부팅을 방지하는데 도움이되는 MacOS의 Watchdog이 비활성화 됩니다. 이러면 유용한 정보를 수집하고, 탐색 경로를 따라 문제를 해결할 수 있습니다.
keepsyms=1 OS커널 패닉에 기호를 복제하도록 지시하는 Debug=0x100에 대한 동반 설정입니다. 무엇이 공황 상태를 발생하는지에 대한 좀 더 도움이 되는 도움을 줄 수 있다.
npci=0x2000 kIOPCIConfiguratorPFM64와 관련된 일부 PCI 디버깅을 비활성화 합니다. 대안은 gIOPCITunnelled와 관련된 디버깅을 비활성화 하는 npci= 0x3000입니다. PCI 레인과 관련된 IRQ 충돌이 있기 때문에 PCI 시작 구성에 필요합니다. Above4GDecoding이 활성화 된 경우엔은 필요하지 않습니다.
alcid=1 Apple의 레이아웃 ID 설정에 사용되는 ALC, 지원되는 코덱을 참조하여 특정 시스템에 사용할 레이아웃을 확인하십시오.
github.com/acidanthera/applealc/wiki/supported-codecs
agdpmod=pikera AMD Radeon Navi GPUs(RX 5000 시리즈)에서 사용됩니다. Polaris 와 Vega는 지원하지 않습니다.
nvda_drv_vrl=1 시에라 및 하이시에라에서 Maxell 및 Passcal 카드에서 Nvidia의 웹드라이버를 활성화하는 데 사용

 

prev-lang:kbd:<>

비 라틴 계열의 키보드에 필요하며 샘플 구성의 기본값은 러시아어입니다.

Key Type Value Value(HEX)
prev-lang:kbd

String en-US:0 -
DATA - 656e2d55533a30

Delete

Quirks Enabled
WriteFlash True

UEFI

 

Driver

0. HfsPlus.efi

1. OpenRuntime.efi

 

 

Qurik Enabled Comment
UnblockFsConnect False 주로 HP메인보드에 필요합니다.

 

 

 

 


Platforminfo

SMBIOS 입히기

 

GenSMBIOS 배치파일을 관리자 권한으로 실행 해 줍니다.

 

 

실행된 배치파일 내에서 1번을 입력 후 엔터 

맥 시리얼 인스톨을 마치고나면 다시 엔터로 메인메뉴로 돌아갑니다.

그리고 Config.plist 파일 경로를 찾아야합니다. 2번을 입력 후 엔터

 

Config.plist 파일을 선택 후 상단 메뉴에 [경로 복사] 늘 눌러줍니다. 그럼 해당 파일에 있는 경로가 클립보드로 복사됩니다.

 

다시 배치파일로 와서 복사한 경로를 [Ctrl] + [V] 로 붙여넣은 후 엔터.

 

다시 메뉴로 오면 Current plist : "Plist 경로" 가 적용 된 화면이 보입니다.

 

[3] 입력 후 엔터

 

그리고 SMBIOS 생성합니다. iMacPro1,1 을 입력 후 엔터.

 

 

엔터를 눌러주시고 고 ProperTree 에서 Config.plist를 불러와 주시면 적용되어 있습니다.

 


Sanity Checker

https://opencore.slowgeek.com/

 

위 링크로 들어가 사용중인 CPUOpencore 버전을 선택 해 주고, 저장된 Config.plist를 불러와 줍니다.

 

 

Config.plist 최종 확인 체크리스트입니다. 녹색표시가 정상적으로 적용 된 것이고, 노란색은 호환성 경고입니다.

 

Opencore 버전마다 차이가 있습니다. 노란색으로 체크 되는 곳이면 반드시 수정을 하셔서 녹색으로 떠야 설치가 정상적으로 됩니다.

 

  • ROM = 112233445566 You should set this to your NIC MAC address. See PlatformInfo Docs

 

해당 부분에서 노란색으로 뜨지만 신경 쓰지 않으셔도 됩니다. 이더넷 드라이버로 네트워크를 잡아줍니다. 굳이 수정 하실 필요 없습니다.

 


AMD BIOS Setting

비활성화

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

활성화

  • Above 4G Decoding
  • EHCI/XHCI Hand-off
  • OS Type : Windows 8.1/10 UEFI Mode
  • SATA Mode: AHCI