시스템 사양 선택 | 1번 |
---|
이 글 보다는 다시 정리한 글을 보시는게 좋을 것 같습니다. 그래도 이 글은 기념으로, 그리고 혹시 몰라 남겨 두겠습니다. ^^
이 글을 대체하는 새 글은 여기 있습니다.
Opencore가 대세가 되어 간다는 소문을 듣기는 했으나, 초기에 너무 복잡하고 불안한 것 같아 손을 안대고 있다가, Opencore가 안정화되 된 것 같고, Dortania같은 집대성된 가이드도 있고, 인터넷에 성공한 사례들과 참고할 EFI들이 많아진데다가, Big Sur를 Real Mac에 사용해 보니, CustomMac들도 Big Sur로 바꾸기 위해 삽질을 시작하고 기록을 남겨 둔다.
tonymacx86.com에서는 오픈코어기반 BigSur의 설치에 대한 가이드가 있기는 하지만, 기존의 Clover를 사용한 방식으로는 Catalina(10.15)를 설치하는 것을 기본으로 권장하는 듯 하다. tonymacx86이 제시하는 Catalina까지의 설치에 대한 개념적 절차는 다음과 같다.
macOS 설치 image를 다운로드 받아 놓고, Unibeast로 USB에 image와 Clover Boot Loader를 구성
이 작업을 위해 macOS가 필요하며, 정품 맥에서 하거나, VM으로 macOS를 올려서 하거나, 이미 구성된 USB 이미지를 구해서 하기도 한다.
USB의 /EFI에 자신의 하드웨어에 맞게 config.list를 구성하고, 필요한 Driver, Kexts들을 위치시켜 구성
config.list를 조작하기 위해 보통은 configurator 유틸을 사용하며, driver, kexts 들은 별도로 구하거나, macOS설치후, configurator 또는 hankintool로 업데이트하는 방법을 사용한다.
USB로 CustomMac장비를 부팅하여, macOS의 설치를 진행
일단 부팅 이후에는 설치에 문제가 없으며, 오히려, Driver, Kexts 및 Graphic, Wifi, BT등의 장치들 때문에 부팅이 안되는 경우가 많다.
Big Sur는 Boot Loader로 Clover를 사용할 수도 있지만, Opencore를 사용하는 것이 추세인 것 같다. Opencore의 장점이나, 기술적 상세한 개념등에 대해서는 나는 잘 모르니, 다른 더 좋은 글들을 참고하라.
아래는 Big Sur를 Opencore로 설치하는 개념적 절차이다. Clover방식과 Opencore방식은 큰 개념적으로는 유사하지만, 세부 절차 과정에서 많이 다른 부부있다. 특히 주의하여야할 부분은 정확한 Opencore Boot Loader를 구하여 USB /EFI에 복사하여야 하는 것과 Hardware(특히 CPU와 chipset에 의존적인)에 정확히 맞는 ACPI, Driver, Kexts들을 준비하여야만 한다.
그렇지 않은 경우, USB로 Big Sur설치를 위한 첫 화면으로의 부팅도 진행 할 수도 없을 것이다. (Clover방식과 비슷하지만, Opencore가 Clover에 비해 예민하여, Opencore로 첫 부팅하기도 힘들 수 있다는 차이점을 이해하는데, 너무 오래 걸렸다. Clover에서는 대충 맞으면 부팅은 되었고, 부팅 후, 필요한 내용을 바꾸어 주는 방식이 선호 되었지만, Opencore에서는 정확히 맞는 필수, 최소 구성된 내용으로 구성되어야 부팅이 가능하며, 이후 필요한 내용을 추가하는 방식이다. )
Opencore의 대부인 Dortania's OpenCore Install Guide(Dortania Guide)를 따라는 것이 강력하게 권고되며, Opencore 기반으로 Big Sur를 설치하는 개념적 절차는 다음과 같다.
Big Sur 설치 image를 다운로드 받아 놓고, createinstallmedia명령으로 USB에 image를 구성
이 작업을 위해 macOS가 필요하며, 정품 맥에서 하거나, VM으로 macOS를 올려서 진행한다.
이미 구성된 USB를 구해서 진행 할 수도 있으나, Chipset환경에 예민한 Opencore에서는 자신의 HW에 정확히 맞는 USB이미지를 구하여야 함에 주의하여야 한다.
Boot Loader로 사용할 Opencore 기본형태의 데이터를 다운받고, 해당 내용을 USB의 /EFI에 복사
USB /EFI의 config.plist를 설정하고, ACPI, Driver, Kexts들을 Opencore구성에 포함
이 작업이 상당히 중요하다. Dortania Guide를 참고하여, 자신의 HW에 정확히 부합하는 파일들을 구하고 USB에 위치시켜야 하며, 이에 맞는 config.plist를 구성하여야 한다.
이 작업을 위해 config.plist를 다루기 위해 Clover의 Configurator보다는 plist를 직접 조작하는 ProperTree등의 유틸리티를 사용한다. 아마도 더 발전 되면, Opencore를 위한 전용 configurator가 나올 것 같다.
USB로 CustomMac장비를 부팅하여, macOS의 설치를 진행
단 부팅 이후에는 설치에 문제가 없으며, Clover와 마찬가지로, Driver, Kexts 및 Graphic, Wifi, BT등의 장치들 때문에 부팅이 안되는 경우가 많다.
Clover에서는 부팅 이후에도 적합한 Drivere, Kexts 및 튜닝이 필요하였으나, Opencore는 사전에 적절히 조정하였으니, 대부분 추가 튜닝이 거의 없다. 이런 관계로 Clover보다 Opencore가 부팅이 더 빠르고, 깔끔하다고 하는 모양이다.
Opencore기반으로 Big Sur를 설치하는데 사용한 Custom Mac 장비는 HP 600 G2 Mini 이다. Opencore가 HW의 CPU, Chipset등에 민감하게 준비가 되어야 하므로 명확하게 해당 스펙을 알고 있어야 한다.
HP 600 G2 Mini: https://support.hp.com/kr-ko/document/c04844354
Intel Gen 6 (Skylake) , Internal Intel Graphic
SSD 500GB
(BT/WIFI) 다이소 USB 동글, inote BCM VPULSE BT동글
해당 장비의 CMOS설정은 CustomMac을 위한 일반적인 설정으로 진행한다.
TechNolli Download:
https://www.technolli.com/downloads
CustomMac을 Opencore로 설치하는데 필요한 자료들의 링크들과 설치에 대한 사례를 유트브로 만들어 놓은 곳이다. 여기저기 널려 있는 Opencore CustomMac설치방법을 찾다가 여기의 자료와 가이드를 기준으로 진행하였다. 군더더기 없이 깔끔한 가이드가 인상적이다.
hackintosh University: many Device Install EFI reference:
https://github.com/huangyz0918/Hackintosh-Installer-University
Opencore가 HW의 CPU, Chipset에 민감하며, 사전에 미리 준비하여 설치를 시작하여야 하는데, 이 사이트에서 자신의 HW와 동일한, 또는 유사한 HW에 대해 성공한 config.plist와 Driver들을 포함한 EFI를 얻을 수 있다. 개인적으로 가동여부등을 확인해 보았고, 실제로는 나에게 맞는 것을 스스로 만드는게 좋을 것 같다.
How to Install Big Sur on a PC the EASY WAY | Complete Guide to Hackintosh using Opencore!:
https://www.youtube.com/watch?v=jqg7MX3FS7M&feature=emb_rel_end
최종 참고하여, Step-by-Setp으로 따라한 가이드 이다. 훌륭하다. 가이드를 따라할때, 최소한의 CustomMac, EFI와 Config.plist등의 어설픈 개념이라도 있어야 한다.
앞에서 설명한 TechNolli에서 링크를 따라가 구할 수도 있으며, 인터넷을 뒤져서 찾을 수도 있다. 직접 CustomMac을 만들면서 필수적으로 사용한 Utility Tool들을 모아서 나열하였다.
(필수) Opencore: OpenCore Package
부팅단계에서 CustomMac을 만들어 주는 핵심 Package이다. 설치용 USB 및 최종 설치가 될 SSD의 UEFI 부팅 파티션에 복사하여 사용한다.
이 Package는 DEBUG용과 RELEASE용이 있는데, 설치과정의 DEBUG 정보를 알기위해서는 DEBUG를 사용하고, 안정화가 완료되었다고 생각되면, SSD의 EFI에 Opencore RELEASE용 버젼에 해당하는 File들로 대체하여 주면 된다.
current recently v0.6.5, DEBUG & RELEASE
(필수) ProperTree: plist editor
config.plist의 내용물을 확인하고, 수정하는데 사용한다. Clover에서는 Clover Configurator가 config.plist를 수정해주는 유틸이었고, Opencore에서는 Opencore Configurator가 동일 역할을 수행한다. 그러나, Opencore에서는 CPU, Chipset에 맞는 환경을 설정해야 하는데, 이때는 Configurator를 사용하여 작업을 할 수 없어, 직접적으로 config.plist를 확인하고, 수정할 수 있는 툴이 필요하다.
ProperTree 이외에 다른 plist editor를 사용하여도 된다. 참고로 macOS에서 ProperTree는 반드시 Python version 3.8 이상의 최신버젼을 기본환경으로 사용하여야 한다. (아마도 버그가 있는 듯) macOS에 기본 설치된 python 2.7만 있다면, 잘 사용할 수 있다. 나는 python을 여러버전을 사용하였기에 문제가 있었던듯 함
MountEFI
USB 또는 SSD의 EFI를 Mount하기 위해 사용한다. 그러나, macOS Terminal에서 mount 명령어를 사용하는게 더 편하다. 명령어가 익숙한 경우, 이 툴은 필요 없다. 다음은 명령어 예제이다.
GibMacOS
macOS 설치버젼 이미지를 macOS가 가지고 있는 상태에서 설치용 USB를 만들수 있는데, 현재 버젼을 구할때는 Mac AppStore에서 구하면 된다. 그러나 과거 버젼은 구하기 어려운데, 이떄 MacOS 설치버젼 이미지를 구할 때 사용한다.
(필수) OC-Gen-X / Opencore Gen-X
자신의 HW에 맞는 기본적인 EFI와 config.plist를 만들어 주는 툴이다. 말 그대로 All-In-One Opencore EFI file Creation & Setup Utility 이다.
(필수) GenSMBIOS
acidanthera의 macserial(그 유명한 macserial제공,확인기능)을 사용하여 SMBIOS를 생성하고 선택적으로 config.plist에 저장하는 Py 스크립트이다.
보통의 경우 USB를 만들때 사용하지 않고, CustomMac을 처음 설치한 후, 해당 CustomMac에서 적절한 Mac모델을 골라서 생성하고, 해당 CustomMac의 config.plist에 Serial이 저장되도록 하는 방식으로 사용한다.
설치작업은 macOS에서 진행한다. Real Mac이던, Custom Mac이던 Mac에서 작업해야 한다. Mac이 없으면, x86.co.kr에서 좌절금지님이 올려 놓은 설치용 USB를 만들기 위한 Ghost이미지를 구하여 USB를 만들어도 되는데, 문제는 HW가 정확하게 맞지 않으면, 해당 USB로 부팅하기도 힘들 것이다. 어떤 분들은 Window에서 VM으로 Mac을 설치하고, 여기서 작업하는 분들도 있는데, 나는 RealMac이 있으므로...
설치에 사용할 USB를 준비하고, 해당 USB에 설치를 위한 파티션을 만들고 포맷한다. 이 작업은 macOS에서 진행하여야 한다.
macOS의 DiskUtility를 사용한다. 아래 내용을 참고하여, 해당 USB룰 Partition하고, Format을 진행한다.
All-Device View Option을 선택하고, 여기서 설치할 USB를 선택한후, 아래 옵션을 참고하여 진행한다.
Any Volume Name(e.g. OC), MacOS Ext., GUID map
CustomMac 설치용 USB를 만들기 위해, macOS 설치버젼 이미지를 구하고, 이것을 macOS의 Application에 위치시키고 설치 가능한 상태의 설치버젼이 있어야 한다.
CustomMac에 사용할 버젼의 macOS설치 이미지를 Apple Software Store에서 다운로드 받아 macOS의 Application에 존재하도록 한다. 최신 현재 버젼의 경우 이렇게 하면 된다.
다른 방법으로 GibMacOS 를 사용하여, 원하는 버젼의 macOS를 구하여, Application에 존재하도록 한다.
Clover에서는 UniBeast라는 툴을 사용하여, macOS이미지를 USB에 넣는 작업을 진행하였지만, 최근 Big Sur부터는 설치용 OS에 포함되어 있는 createinstallmedia라는 툴을 사용한다.
macOS를 위한 부팅 가능한 설치 버젼을 만드는 정확한 자세한 방밥은 Apple Support에서 확인 할 수 있다.
아래는 createinstallmedia를 사용하여 설치용 부팅 USB에 Big Sur이미지를 만드는 명령예제 이다. 앞에서 USB 파티션할때 사용한 OC라는 이름으로 만들어져 마운트 되어있는 USB에 이미지를 만드는 명령이다.
sudo /Application/Install\\ macOS\\ Big\\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/OC
약 15분 정도 소요되며, USB에 이미지가 다 만들어 지면, 해당 볼륨의 이름은 'Install macOS Big Sur'로 바뀌어 있을 것이다.
이렇게 macOS 설치용 USB를 만듦면, 정품 Mac에서는 이 USB에 macOS를 설치할 때 사용할 수 있다.
(찐 초보분들은 필수 참고하세요. Mac을 일반 PC에 설치/운용하기 위해 CustomMac이 구성되고, 동작되는 가장 기본적인 개념....이 글도 어렵게 느끼시는 분들이 계신것 같아 이 분들을 위해 한 마디 추가 하였습니다. ^^) 이 상태에서는 해당 USB로는 당연히 우리의 CustomMac에서는 부팅도 안되기 때문에 EFI에 Opencore와 필요한 내용물들은 구성하여, macOS가 부팅(설치용 macOS포함)되기 전에 macOS가 지금의 HW상태를 마치 정품 mac HW로 인지되고 동작되도록 하는 것이 CustomMac의 핵심이다. opencore가 그 역할을 하는 것이며, 각 HW들의 조건/부품(CPU, Board, GPU, WiFi, BT 등등)들이 경우 마다 다르므로 이에 맞는 설정과 준비되어야 하는 파일들을 포함하여, Opencore와 그 나머지 내용을로 EFI를 구성하며, CustomMac의 핵심내용이 먼저 부팅되어 준비하고, 이후에 정식 macOS가 부팅되도록 하는 개념이다.
macOS설치용 USB의 EFI Partition에 Opencore 패키지(패키지에는 각종 ACPI/Driver/Kexts들과 config.plist가 포함된)를 복사하여 넣어 주어야 하는데, 이 Opencore Package를 구하고 Setup하는 방법은 크게 두 가지 방법이 있다.
Opencore Package로 작업하는 경우: Opencore Package를 다운로드 받아 패키지 내의 ACPI/Driver/Kexts들과 기본형 config.plist를 기반으로 수작업으로 조정하고 준비하여, 적절한 Opencore EFI를 만들고 이것을 USB/EFI에 복사하여 사용하는 방법. config.plist는 Sample용을 사용하며, 이것을 기반으로 자신의 환경에 맞게 일일이 수정하는 방법이다.
OC-Gen-X로 작업하는 경우: OC-Gen-X 라는 툴을 통하여, 필수 정보들을 설정하고, OC-Gen-X가 여기에 맞는 ACPI/Driver/Kexts/ config.plist를 포함하는 Opencore EFI를 자동으로 만들게 하고, 이것을 USB/EFI에 복사하여 사용하는 방법 (OC-Gen-X로 생성되는 EFI는 바탕화면에 만들어 진다.) OC-Gen-X를 사용하는 경우, OC-Gen-X가 사용하는 Opencore Package Version이 원하는 것인지 확인하고 사용하여야 한다.
정확하게 Opencore에 대해 이해하고, 비교,파악해 보기 위해, Opencore Package를 다운받아 풀면, 그것이 EFI인데, 이것의 내용과 OC-Gen-X로 하고 생성한 EFI와 비교해 보면서 이해를 해보는 것이 좋을 것 같다.
NOTICE: 내가 사용한 방법은 Opencore Package로 기본적인 EFI(A/D/K)는 참고용 확인 및 파일들 단위로 활용하기 위해 사용 하고, OC-Gen-X로 만들어진 EFI(A/D/K/config.plist)를 사용하였다. 여기에 추가로 필요한 A/D/K파일들은 개별로 구하거나, Opencore Package의 것들을 사용하고, config.plist는 OC-Gen-X에서 생성된 것을 ProperTree을 사용하여, 필요한 내용을 추가 또는 조정하여 사용하는 방법으로 진행하였다.
Opencore기반으로 된 부팅가능한 USB를 만드는 방법의 개념은 Opencore Package를 다운로드 받아서 풀고, 해당 내용을 macOS 설치용 USB의 EFI Partition에 넣어주는 작업으로 Opencore로 부팅 가능한 USB가 만들어 지는 개념이다.
나는 Opencore Package를 기반으로 하지 않았고, OC-Gen-X이 방법을 사용하였지만, 이야기 하는 이유는 Opencore Package는 Bootloader가 DEBUG 모드와 RELEASE 모드 두 가지가 있으며, 이를 USB/EFI에 필요한 것들을 선택적으로 복사하여 놓음으로서 선택적으로 사용할 수 있다는 점이 중요하다.
다시 말해, 이런 이유로 OC-Gen-X를 사용하더라도, Opencore Package의 기본에 해당되는 efi Driver들을 선택적으로 포함하여 사용하는 것이 가능하다. DEBUG, RELEASE 모드는 EFI에 있는 BOOTx64.efi와 OpenShell.efi가 다른데, 이 파일만 바꾸어 주면 DEBUG, RELEASE모드로 선택적으로 사용할 수 있다. 그렇다 부팅자체에 대한 핵심은 Opencore Package가 하는 일이고, 각종 HW 및 부품들에 필요한 설정들이 config.plist와 SSDT(ACPI)/Kexts/Driver들이 하는 일인것이다. (찐 초보 분들을 위해 추가 하였습니다. ^^)
Opencore Package 는 DEBUG 버젼과 RELEASE 버젼이 있는데, DEBUG버젼을 사용하고, 설치 완료 이후에 RELEASE버젼으로 해당 파일들만 바꾸어 주는 방법이 추천된다.
위의 내용 기준으로 다음의 순수한 opencore Package자체의 내용(=opencore Package EFI )내용을 참고한다.
이제 Opencore에서 중요한 A/D/K들을 알아보고 살펴본다. 해당 파일들을 개별적으로 구할 수 있으며, EFI의 적절한 위치에 복사하여 놓으면 사용 가능한 방식이다. 또한 Opencore에서 중요한 것은 A/D/K에 필요한 파일들이 CPU, Chipset에 따라 다르기 때문에 자신의 CPU, Chipset 및 HW들에 적합한 것들을 구하여 EFI 위치시켜야 한다.
이것에 대한 자세한 내용은 dortania의 가이드 내용을 참고한다. 말을 잘못했다. 참고가 아니라, 바이블 처럼 따라야 한다.
다음의 것들은 대부분의 경우 다른 대부분의 HW, CPU, Chipset에서도 필요한 중요 필수 A/D/K들이다.
(찐 초보분들을 위해 추가합니다.) 다음의 내용은 HP600G2mini를 위한 것들이고, 본인들의 HW(CPU,Board)에 대한 것은 조금씩 다를 것이다. 특히 ACPI(SSDT)관련 내용은 반드시 CPU 모델에 따라, Desktop인지 Laptop인지에 따라 매우 다름에 주의하여야 한다.
HfsPlus.efi : HfsPlugLegacy.efi (Ivy등 2011년 이전의 Chip)와 같이 두지 않는다. https://github.com/acidanthera/OcBinaryData/blob/master/Drivers/HfsPlus.efi
VirtaulSMC: 실제 Mac에서 발견되는 SMC 칩을 에뮬레이트합니다.이 macOS가 없으면 부팅되지 않습니다. 과거 FakeSMC의 대체입니다. https://github.com/acidanthera/VirtualSMC/releases
Lilu: AppleALC, WhateverGreen, VirtualSMC 및 기타 많은 kext에 필요한 많은 프로세스를 패치하는 kext. Lilu가 없으면 작동하지 않습니다. https://github.com/acidanthera/Lilu/releases
WhateverGreen: 그래픽 패칭 DRM, boardID, 프레임 버퍼 수정 등에 사용되며 모든 GPU는이 kext의 이점을 얻습니다. https://github.com/acidanthera/WhateverGreen/releases
AppleALC: AppleHDA 패치에 사용되어 대부분의 온보드 사운드 컨트롤러를 지원합니다. https://github.com/acidanthera/AppleALC/releases
IntelMausi: 대부분의 인텔 NIC에 필요한 I211 기반 칩셋에는 SmallTreeIntel82576 kext가 필요합니다. Intel의 82578, 82579, i217, i218 및 i219 NIC는 공식적으로 지원됩니다. https://github.com/acidanthera/IntelMausi/releases
USBInjectAll: ACPI에 정의 된 USB 포트가없는 시스템에 인텔 USB 컨트롤러를 삽입하는 데 사용됩니다. Desktop Skylake 이상에서는 필요하지 않습니다. https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads/
XHCI: 기본형 USB가 아닌 경우 필요. 다음의 칩셋들은 필요: H370, B360, H310, Z390 (Mojave 이상에서는 필요하지 않음), X79, X99 https://github.com/RehabMan/OS-X-USB-Inject-All
Desktop Skylake Prebuilt SSDTs on ACPI (HP600 G2 mini는 Skylake CPU이다.)
위의 내용으로 개별 추가한 파일 내용들이 EFI에 정리된 결과는 다음과 같다.
OC-Gen-X라는 툴로 새로운 EFI(A/D/K,config.plist)를 생성한다. 일부 파일은 앞의 Opencore Package에서 구하여 복사하는 방법으로 진행한다.
OC-Gen-X 툴은 앞에서 설명 했듯이, 말 그대로 All-In-One 방식으로 Opencore EFI file들과 config.plist를 만들어 주고, 기본적인 설정들을 Setup해주는 툴이다.github에서 구한다.
github에서 찾을 수 있다.: Pavo-IM/OC-Gen-X: OpenCore Config Generator
OC-Gen-X를 실행하고, 아래의 내용을 참고하여, 생성할 EFI Folder 및 A/D/K들과 config.plist에 대한 설정을 하고, 최종적으로 저장 한다. 자신의 HW에 맞도록 선택하여야 한다. 특히 ACPI(SSDT) 관련된 System항목이 맞지 않으면 부팅도 안된다.
System: SkyLake (HP 600 G2 mini는 Skylake CPU이다)
Kernet Extension: Lilu, VirtualSMC, WhateverGreen, AppleALC, InetlMausi, USBInjectAll
Fireware Driver: OpenRuntime.efi, HfsPlus.efi
System BIOS: iMac17,1 (Dortanina Guid를 참고한다. Skylake를 사용하는 경우, iMac17,1 이 권장된다.)
Boot-Args: keepsyms=1 debug=0x100 -v npci=0x2000
저장된 EFI Folder와 A/D/K, config.plist는 CustomMac을 만들고 있는 macOS의 Desktop(바탕화면)에 저장되어 존재하게 되는데, OC-Gen-X 툴에 의해서 생성되지 않는 것이 ACPI를 위한 aml 파일 들과 efi 파일이 있다. 아래의 내욜을 참고하여, Dortania Guide에서 구하거나, 앞서 다운로드 받아 풀어 보았던 Opencore Package에서 구하면 된다.
aml 이 파일들은 CPU에 맞는 것을 골라야 하는데, 다음의 Dortania에서 Prebuilt된 것을 다운로드 받아 ACPI에 위치 시킨다. 다운로드는 Dortania의 "Getting Start With ACPI" > "Prebuilt SSDTs" 에서 자신의 CPU에 맞는 것을 고른다. https://dortania.github.io/Getting-Started-With-ACPI/ssdt-methods/ssdt-prebuilt.html
다음으로 Tools의 OpenShell.efi는 별도로 구하여 위치시킨다. OpenShell.efi는 다운로드 받은 OpenCore Package에서 복사본을 구할 수 있다.
이제 바탕화면인 Desktop에 만들어진 EFI를 Boot 설치용 USB에 복사한다. 아래의 그림은 USB의 EFI Boot Volume에 EFI폴더에 저장된 내용이다.
자신의 HW환경에 맞도록 USB:EFI/OC/config.plist의 내용을 수정한다.
ProperTree로 USB의 EFI/OC/config.plist를 나의 환경에 맞도록 수정/저장하는 작업이다. 이렇게 나만의 HW(CPU,chipset)에 맞도록 config.plist를 설정하여야 한다.
config.plist에는 OC-Gen-X에서 설정한 기본적인 카테고리들과 설정내용이 존재하는데, 여기에 세부 내용을 추가로 설정하는 개념이다.
세부적인 정보는 Dortina에서 찾을 수 있는데, 자신에게 맞는 CPU를 찾고, 그 하부에 있는 각 섹션별 설정을 진행하는 방식이다. 아래 링크는 Skylake에 해당하는 내용이다. 하나씩 차근 차근 확인하고, 따라하며 진행하여야 한다. https://dortania.github.io/OpenCore-Install-Guide/config.plist/skylake.html#starting-point
필요한 정보들을 확인하고, 수정/추가하여 config.plist에 적용하고 저장한다. 아래는 각 섹션별 주요 내용의 설명이며, 더 자세한 것은 Dortania를 참고한다.
아래에 Dortania Guide를 기준으로 HP 600 G2 mini의 Skylake에 맞는 설정 가이드를 따라 한다. 아래의 작업은 ProperTree로 USB의 EFI/OC/config.plist를 열어 plist설정을 찾아 하나씩 확인 하고 조정을 진행한다. (기존에 저장되어 있는 config.plist는 다른 이름으로 백업해 두고 진행하는 것을 권장한다.) 다른 HW들은 해당 Case에 맞는 Dortania Guide를 참고하여 진행하여야 한다.
Quirk 설정: "Getting Start With ACPI" > "Skylake" > "Booter" > "Quirk"섹션
avoidRuntimeDefrag: YES
날짜, 시간, NVRAM, 전원 제어 등과 같은 UEFI 런타임 서비스 수정
EnableWriteUnprotector: YES
CR0 레지스터에서 쓰기 방지를 제거하는 데 필요합니다.
SetupVirtualMap: YES
기가 바이트 보드가 초기 커널 패닉을 해결하는 데 필요한 가상 주소에 대한 SetVirtualAddresses 호출 수정
DeviceProperties 설정: "Getting Start With ACPI" > "Skylake" > "DeviceProperties" 섹션
"Device Properties" > "Add"에서 " New Child Under Add (+)"를 선택하여, 아래는 해당 설명이 있는 내용을 추가한다.
PciRoot (0x0) / Pci (0x2,0x0): Dictionary
AAPL, ig-platform-id: Data: 00001219
Note: Headless framebuffers(where the dGPU is the display out) do not need. framebuffer-patch-enable, framebuffer-stolenmem and framebuffer-fbmem
Kernel 설정: "Getting Start With ACPI" > "Skylake" > "Kernel" > "Quirks" 섹션
아마도 이미 아래 내용으로 되어 있을 것이다.
AppleXcpmCfgLock: YES: Not needed if CFG-Lock is disabled in the BIOS
DisableIOMapper: YES: Not needed if VT-D is disabled in the BIOS
LapicKernelPanic: NO: HP Machines will require this quirk
PanicNoKextDump: YES
PowerTimeoutKernelPanic: YES
XhciPortLimit: YES
MISC 설정: "Getting Start With ACPI" > "Skylake" > "Misc" > "Debug" 섹션
DisableWatchDog: YES
ApplePanic: YES
AppleDebug: YES
Target: 67
NVRAM 설정: "Getting Start With ACPI" > "Skylake" > "NVRAM" > "7C436110-AB2A-4BBB-A880-FE41995C9F82" 섹션
boot-aargs: -v keepsyms=1 debug=0x100 npci=0x3000 alcid=15
prev-lang:kbd: String: en-US:0
PlatformInfo 설정: "Getting Start With ACPI" > "Skylake" > "PlatformInfo" 섹션
SMBIOS 정보를 설절하기 위해 CorpNewt의 GenSIMBIOS를 사용하는 것이 권장된다. Skylake를 위해서는 iMac17,1 SMBIOS를 사용하여야 한다.
아래는 GenSMBIOS.command를 실행하고, iMac17,1에 해당하는 정보를 얻어내는 예제이다.
GenSMBIOS에 의해 얻어진 값을 사용하여, config.plist에 설정한다. (GenSMBIOS를 사용하여 Serial을 구하고, config.plist에 넣는 작업은 나중에 실제 customMac을 설치하고, 부팅 가능하게 만든 이후, 그리고, 정식으로 Apple ID를 부여하여 사용하기 직전에 진행하는 것이 더 좋을 것 같다. 지금은 그냥 안 해도 된다.)
Type > SystemProductName
Serial > SystemSerialNumber
Board Serial > MLB
smUUID > SystemUUID
필요한 수정을 마무리 했으므로, ProperTree의 저장을 통하여, USB의 EFI/OC/config.plist에 저장한다. 아래 화면은 ProperTree의 샘플화면이며, 상단에 수정하고 있는 파일이 USB에 있는 내용임을 알 수 있는 /Volumes/USB/EFI/OC/config.plist 인것을 확인 할 수 있다.
모두 저장 했으면, USB를 macOS에서 unmount한다. 이제 새로운 CustomMac(hackintosh)에서 부팅할 수 있고, macOS를 설치 할 수 있는 USB를 만들었다.
준비된 USB로 CustomMac으로 사용할 장비를 부팅하고, macOS설치를 진행 할 수 있다. 대략적으로 다음의 3 단계로 진행된다.
CustomMac으로 사용할 장비 준비: HW 및 CMOS설정
USB로 부팅하고, CustomMac의 SSD에 macOS설치
CustomMac의 SSD로 부팅되도록 부트로더 심기
CustomMac에 적합한 HW와 각종 부품들의 구성은 본 문서의 주제가 아니다. Clover시절과 동일한 조건이며, 일반적인 CustomMac을 위한 HW들과 부품들로 준비하여야 한다. 본 문서는 앞에 이야기한 대로 HP 600 G2 mini를 준비하였다.
또한, HW의 CMOS설정도 무척 중요한데, 이 부분도 다른 문서들과 다른 사례들을 참고하라. 기본적으로 Real Mac에서 사용되지 않는 것들과 어울리지 않는 것들은 Disable하면 되는데, 중요한 내용은 다음과 같다.
Security관련된 내용들의 Disable, Un-setup
해당 Motherbord의 Chipset에서 지원하는 부가적 기능들의 Disable, Un-setup
사용할 HW의 CMOS 설정을 마쳤으면, 만들어진 CustomMac 설치용 USB로 부팅을 시작한다. USB가 제대로 만들어 졌고, HW부팅시에 USB로 부팅을 시작하면, 다음과 같이 부팅 화면이 보이고, 이후 부팅 과정을 선택할 메뉴가 보일 것이다.
USB가 제대로 만들어 지지 않았다면, 부팅 메시지들이 보이지 않거나 부팅중에 멈출 게 되며, 메뉴가 보이지 않을 것이다. 이 단계에서 문제가 있다면, 난감하지만, 부팅메시지를 보면서 인터넷 등에서 유사한 케이스들에 대해 원인을 찾아야 한다.
가장 먼저 할 일은 NVRAM Reset이다. Opencore로 해당 HW에 설치하는 첫 케이스에서만 필요하며, 이후에는 필요 없다고 한다. 이것을 진행하는 이유는 기존에 Clover로 CustomMac을 사용하고 있었거나, 다른 OS 때문에 NVRAM에 저장된 내용이 Opencore와 적합한 설정이 이 아닐 수 있다. 따라서, 이런 경우 가장 먼저 해줘야 할 일은 "4. Reset NVRM" 을 선택하여, 그 내용을 Reset하는 작업이다.
Reset NVRAM을 선택하고, HW가 리부팅을 다시 시작하면, 전원을 빼고 2~3분 기다린다. 완전하게 NVRAM의 내용이 지워져야 하기 때문이다. 필요하면, 동일한 방법으로 2~3회 정도 "Reset NVRAM"을 하는 것이 좋을 수도 있다.
이제 다시 처음부터 USB로 부팅을 시작하고 Boot Menu에서 "2. Install macOS Big Sur (external)"을 선택하여, 설치를 시작한다. 이 후의 설치 과정은 CustomMac이라 하더라도 Real Mac설치과정과 거의 동일하며, 일반적인 과정은 다른 문서에서도 찾을 수 있으니, 아래 내용을 참고하여 진행한다.
HW Boot: 설치 USB를 선택하여 boot 한다.
설치할 SSD Partition 및 지우기: 이름은 macOS의 Main Boot 및 Root불륨으로 사용할 SSD에 부여할 이름을 지정하고, Format은 반드시 APFS를 Schema는 반드시 GUID Partition map으로 지정한다.
설치할 대상 디스크를 Partition하고 포맷을 했다면, Big Sur Install을 선택한다. 준비된 해당 SSD에 필요한 파일들을 구성을 할 것이다. 이 과정은 자동으로 몇 번의 리부팅이 있을 수 있으며, 리부팅 시에 USB로 부팅이 될 것이며, 자동으로 "macOS Installer"가 선택되고, 추가적인 설치 작업을 진행하게 될 것이다. 다음은 HP 600 G2 mini에서 진행된 단계이다. 상황마다 조금씩 다를 수 있고, 자동으로 메뉴가 선택되지 않을 수도 있으니, 아래 내용 참고만 하여 진행 한다.
(1) "Install macOS"를 선택, 약 18분 동안 설치 진행, 자동으로 reboot됨
(2) boot후 자동으로 "macOS Installer"가 선택되고 진행됨, 약 29분 동안 설치 진행, 자동으로 reboot됨
(3) boot후 자동으로 "macOS Installer"가 선택되고 진행됨, 시간이 좀 걸린 후, boot선택 메뉴를 만나는데, 여기에는 설치할 디스크에 이름을 주었던 이름(e.g. miniMac01)과 "Recovery 11.1"이라는 선택메뉴가 추가되어 있다.
(4) 위 OpenCore Boot Menu 화면에서 macOS를 설치한 디스크 이름(e.g. miniMac01)을 선택한다. text로 된 부팅 메시지가 보이고, 이후 Mac Apple Logo가 보였다가, 자동으로 reboot됨
(5) boot후, 다시 OpenCore Boot Menu 화면에서 macOS를 설치한 디스크 이름(e.g. miniMac01)을 선택한다. text로 된 부팅 메시지가 보이고, 이후 Mac Apple Logo가 보였다가, macOS Big Sur를 처음 설치한 이후, Big Sur를 설정하고 시작하는 첫 화면을 만나게 된다.
(6) 일반적인 macOS 설정과 같이, 지역, 언어, 네트워크, 사욜성 관련된 설정들을 지정한다. 이 과정에서 Apple ID관련된 부분은 설정하지 않고 나중에 별도로 설정하는 것이 권장된다. 또한, Network 설정하여, 바로 인터넷에 접속하지 않고, 나중에 별도로 설정하는 것이 권장된다.
노란풍선님의 새글 알림을 받으실려면 구독
저도 초보지만 opencore install guide 보면서 따라하던 작업들이 주마등처럼 떠오릅니다. 글쓰시는데 많은 시간이 걸렸을거 같은데 갖고 계신 컴에 대한 opencore 한글 매뉴얼 이란 생각이 드네요
꼼꼼한 내용 감사합니다.
BT 동글은 https://prod.danawa.com/info/?pcode=1750108 이 제품인가 보네요.
진심으로 감사드립니다. 노랑풍선님의 이 글 덕분에 한번에 오픈코어로 클린설치 할 수 있었어요. 오랜만에 삽을 들었는데 반나절만에 끝내버렸네요.
도움이 되셨다니, 다행입니다. 완전 쌩 초보라 하셔서 내용물에 몇몇줄을 이해를 돕기위해 미미한 내용 추가 하였는데, 다른 분들께도 도움이 되길 바래 봅니다. ㅎㅎ
헐.. 지렸다....
정말 감사합니다. 이정도면 거의 성지가 되지 않을까 생각되네요... 대단하십니다.
오픈코어로 갈아타려고 생각만 하고 있었는데 이제 시도해보네요 ^^
스샷떠서 프린트중입니다. 보면서 해봐야겠네요 ㅋㅋ 다시한번 감사드립니다. ^^
초보분들과 중급분들을 위한 바이블이네요!!!!
친절하고, 정감있고, 이해하기 쉬운 소중한 정보와 경험에 대해서 정말 감사드립니다. (^+^)
"님의 댓글"
이 댓글을 신고 하시겠습니까?
제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|
macOS Ventura 13.7 22H123 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체 공개 +3 | 좌절금지 | 24.09.1917:09 | 71 |
macOS Sonoma 14.7 23H124 정식버젼 고스트 이미지 OC 1.0.1 ft: 전체공개 +15 | 좌절금지 | 24.09.1723:58 | 182 |
[중급편] 노트북 해킨 +8 | Stultus | 24.07.1219:19 | 755 |
[초급편] 문제 스스로 해결하기 +17 | Stultus | 24.03.2920:07 | 3532 |
[입문편] 첫 해킨 길라잡이 +32 | Stultus | 24.01.1218:54 | 4296 |
[필독 - 안정화] 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 | 198 |
2020 그램 sonoma efi 15Z90N +1 | 맥가즈아 | 24.09.1717:13 | 90 |
macOS Sequoia 15 설치 후기 + Bcm94360NG WiFi 작동함 | 좌절금지 | 24.09.1919:17 | 199 |
좌절금지 | 24.09.1919:17 | 199 | |
좌절금지 | 24.09.1917:09 | 71 | |
Stultus | 24.09.1813:37 | 151 | |
좌절금지 | 24.09.1723:58 | 182 | |
좌절금지 | 24.09.1722:40 | 198 | |
맥가즈아 | 24.09.1717:13 | 90 | |
김경석 | 24.09.1708:13 | 220 | |
Panictosh | 24.09.1617:47 | 99 | |
Tamy | 24.09.1504:35 | 467 | |
Stultus | 24.09.1319:18 | 436 | |
치토 | 24.09.1019:44 | 470 | |
머핀X | 24.09.0118:13 | 394 | |
해킨도전자 | 24.09.0112:54 | 295 | |
머핀X | 24.08.3115:34 | 373 | |
화정큐삼 | 24.08.2601:42 | 239 | |
하나브 | 24.08.2422:59 | 208 | |
화정큐삼 | 24.08.2316:25 | 248 | |
CanBe | 24.08.1810:56 | 329 | |
화정큐삼 | 24.08.1800:04 | 205 | |
화정큐삼 | 24.08.1722:03 | 189 | |
jbhlyk | 24.08.1710:14 | 167 | |
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 | 271 | |
좌절금지 | 24.08.1115:46 | 194 | |
티타보르 | 24.08.1111:21 | 141 | |
Stultus | 24.08.1022:46 | 183 | |
오디세이 | 24.08.1022:10 | 391 | |
jbhlyk | 24.08.1019:05 | 127 | |
RogerT | 24.08.0923:20 | 145 | |
좌절금지 | 24.08.0717:18 | 286 | |
RogerT | 24.08.0609:17 | 115 | |
줌바이퍼 | 24.08.0606:14 | 459 | |
jbhlyk | 24.08.0523:34 | 81 | |
수인과윤슈 | 24.08.0521:10 | 185 | |
좌절금지 | 24.08.0521:08 | 838 | |
Stultus | 24.08.0221:07 | 427 | |
Tamy | 24.07.3019:12 | 343 | |
해킨도전자 | 24.07.2915:37 | 262 | |
june119 | 24.07.2813:52 | 206 | |
Stultus | 24.07.2112:43 | 245 | |
BlueGuerrilla | 23.05.0502:19 | 3993 | |
Stultus | 24.07.1219:19 | 755 | |
김태국 | 21.08.0213:10 | 3679 | |
Stultus | 24.07.1122:47 | 215 | |
Stultus | 24.07.1020:44 | 138 | |
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 | 288 | |
애플브리크 | 24.07.0509:56 | 492 | |
광호 | 24.02.1715:21 | 2185 | |
치토 | 24.06.2723:24 | 398 | |
talas | 24.06.2617:24 | 193 | |
블루사탕 | 24.06.2120:58 | 116 | |
gtrfxdsp | 24.06.1609:01 | 511 | |
Mactopia | 24.06.1401:04 | 345 | |
Stultus | 24.06.1120:40 | 726 | |
새콤칠리 | 24.06.1115:07 | 672 | |
좌절금지 | 23.02.2118:35 | 118만 | |
Steer | 24.06.1001:11 | 275 | |
Door | 24.06.0810:09 | 155 | |
Tamy | 24.06.0107:41 | 416 | |
ssdwe346 | 24.05.2923:53 | 299 | |
joy | 24.05.2809:58 | 264 | |
거니 | 24.05.2601:07 | 243 | |
RogerT | 24.05.2520:14 | 247 | |
좌절금지 | 24.05.1812:40 | 913 | |
wjdgkdus | 24.05.1615:02 | 211 | |
Tamy | 24.05.1417:36 | 797 | |
줌바이퍼 | 24.05.1002:04 | 1008 | |
의정이 | 24.05.0821:05 | 144 | |
ryzen | 23.10.0921:28 | 2405 | |
챠니앤차니 | 24.05.0319:15 | 146 | |
챠니앤차니 | 24.05.0220:17 | 174 | |
고맹이 | 24.05.0210:00 | 635 | |
shl628 | 24.04.3013:54 | 1067 |
문제는 이글을 초보가 읽을까요? ㅋ