Zarys tutoriala instalacji macOS z Open Core „nie dla początkujących”.
: 29 lis 2019, 14:59
UWAGA: OpenCore jest wciąż w fazie alpha-beta.
Wszystko robisz na własne ryzyko. Nie ponoszę żadnej odpowiedzialności.
Do Tutoriala dołączę przykłady Gigabyte Z390 Aorus Pro, Gigabyte Z390 M GAMING, Asus Prime Z390 A.
Polecam na początek przestudiowanie przykładu i przeczytanie PDF Reference Manual.
Eksperymenty z OC proszę robić na USB-sticku. I z niego startować.
1.) Komponenty
Gigabyte Z390 Aorus Pro, Gigabyte Z390 M GAMING, Asus Prime Z390 A i9-9900K
Procesor: i7 - 8700k, i7-9700k, i9-9900K. Naturalnie inne są możliwe.
GPU: Vega 56, RX5x0, inne od AMD, jednak nie Nvidia.
2.) Oprogramowanie
TINU (https://www.hackintosh-forum.de/attachm ... u-2-1-zip/)
OpenCore EFI Maker (https://www.hackintosh-forum.de/attachm ... 1-2-2-zip/)
Clover Configurator (tylko do mount-montażu EFI)
X-CODE, PlistEdit Pro lub inne edytory plist.
3.) Utwórz instalator USB
a) Załaduj macOS z AppStore, lub inną metodą
b) Startuj TINU i utwórz instalator macOS na USB
W rezultacie masz pendrive instalacyjny macOS, który działa na oryginalnym komputerze Apple.
4.) OpenCore EFI Maker
Aby instalacja działała na komputerze PC, musimy zainstalować program ładujący czyli Bootloader na ukrytej partycji o nazwie EFI.
W tym celu użyjemy OpenCore, stosunkowo nowego bootloadera, który wciąż jeszcze jest w fazie beta, jednak działa już zadziwiająco sprawnie.
W niektórych aspektach lepiej jak Clover.
Open Core w założeniu jest czymś więcej jak bootloaderem, ma zbliżyć proces do oryginału, czyli do komputerów mac.
a) Pobierz OpenCore EFI Maker
b) Uruchom OpenCore EFI Maker. Mamy wybór 4 opcji, wybieramy 1 ponieważ inne wymagają dodatkowego oprogramowania. Na pytanie: Do you use Legacy Boot [y/n]: odpowiadamy n,
Do you use FileVault? [y/n]: n.
Mogą pojawić się inne pytania jak: HfsPlus.ef, wtedy YES, ponieważ hackintosh ma czytać woluminy HFS…
c) Następnie na pulpicie zostanie utworzony folder OpenCore_BootLoader. Zawiera całą EFI którą po doszlifowaniu wkopiujemy na ukrytą partycję o nazwie, jak wspomniałem wcześniej EFI.
5.) Dostosuj config.plist
Plik config.plist jest centralnym elementem OC. Wszystkie kexty, drivery i patche muszą być w nim zadeklarowane i opisane.
W odróżnieniu od Clovera bez opisu żaden element nie zostanie „uruchomiony“, pomimo że fizycznie może się na EFI znajdować.
a) W folderze utworzonym w punkcie 4 znajdziesz plik o nazwie FullSampe.plist
b) Otwieramy je za pomocą X-CODE lub PlistEdit Pro i stopniowo ustawiamy parametry:
ACPI - tu wpisujemy ewentualne patche SSDT, patche DSDT i Quirks.
Dla Add - niektóre SSDT jak 0-1-2 są standardowe i przynosi je sam OC. 3 i 4 tyczą się portów USB i należy je wykonać programem Hackintool, ściągnąć z sieci lub tymczasowo pominąć.
Patch - Łaty, które stosujemy w standardowej konfiguracji Clovera
Tutaj kopiujemy wszystkie wpisy z obszaru ACPI; DSDT; kopiuj i wklej je do naszej konfiguracji
ACPI;Patch; GFX0 to IGPU
ACPI;Patch; HECI to IMEI
ACPI;Patch; HDAS to HDEF
ACPI;Patch; SAT0 to SATA
ACPI;Patch; LPC to LPCB
ACPI;Patch; PEGP to GFX0
Pamiętaj by Enabled był zawsze na YES. Inaczej nie zadziała. Taka filozofia OC.
ACPI;QUIRKS, dla Gigabyte - Z390 Aorus Pro:
ACPI;QUIRKS;Normalice header; YES
ACPI;QUIRKS;rebase regions: YES
ACPI;QUIRKS;restHwSig; YES
Dla Gigabyte Z390 M GAMING wszystko na: NO
Następny punkt to Device Properties
Pod ADD - dodajemy najważniejsze devices, w zasadzie na początek dwa urządzenia, to jest iGPU i Audio.
PciRoot(0x0)/Pci(0x1f,0x3) to dla Gigabyte Z390 M GAMING to Audio, oczywiście te adresy musimy znać.
Tu pod layout-id możemy nastawić 01000000, co oznacza layout 1.
PciRoot(0x0)/Pci(0x2,0x0) to nasza karta graficzna na procesorze. Tu dla AAPL,ig-platform-id wybieramy pasującą wartość. Przykładowo ja dla i7 9700K wpisałem 0300923E ponieważ karta na procesorze nie ma obsługiwać monitora a jedynie liczyć. W edytorze jak TextWrangler wartość ta widnieje jako AwCSPg==.
Następny punkt to Kernel - tutaj opisujemy nasze kexty w Add
Jak przykładowo add Item 4 - WhateverGreen.kext; Enabled: TAK (aktywuje)
Jeśli jakiś kext dodamy ręcznie musimy go tu opisać. Należy zwrócić szczególną uwagę na kolejność ładowania kextów. Niektóre kexty są zależne od innych i te muszą być wyżej w kolejności uruchomienia. Lilu musi być zawsze pierwszy.
Kernel; Quirks przykładowo dla Gigabyte Z390 Aorus Pro:
Kernel; Quirks; AppleXcpmCfgLock; TAK
Kernel; Quirks; PanicNoKexDump; TAK
Kernel; Quirks; XhciPortLimit; TAK
Misc - Optyka OC:
Misc;Boot;ConsoleBehaviourOs; ForceText
Misc;Boot;ConsoleBehaviourUi; Text
Misc;Boot;ConsoleMode; Max
Misc;Boot;Resolution; 1920x1080@32
Misc;Boot;Timeout; 10(jak długo (sekundy) OC czeka z bootowaniem)
Security - Bezpieczeństwo; AllowNvramReset; TAK
(Aby zresetować NVRAM za pomocą bootpickera lub cmd + Opt + P + R jak w oryginalnym Mac)
Security - RequireSignature NO
Security - RequireVault NO
Security - ScanPolicy 0
(Wartość dla pierwszego rozruchu, można ją dostosować później)
NVRAM: (Niektóre zagadnienia)
NVRAM - Add - boot-args, argumenty rozruchowe jak przykładowo; -v keepyms=1
NVRAM; Add; 7C436110-AB2A-4BBB-A880-FE41995C9F82; csr-active-config; 00000000 (Ustawienie dla SIP)
(67000000-SIP całkowicie wyłącz, 00000000 włącz całkowicie, 30000000 pozwala na nie sygnowane kexty)
NVRAM; Add; 7C436110-AB2A-4BBB-A880-FE41995C9F82; prev-lang:kbd: pl:18 (Język = polski)
UWAGA: Rzeczy które nie rozumiemy pozostawiamy na razie bez zmian!
Długie adresy to identyfikatory GUID, przykładowo: 7C436110-AB2A-4BBB-A880-FE41995C9F82 to APPLE_BOOT_VARIABLE_GUID.
PlatformInfo;
Automatic: YES
Generic: Tu możemy się warunkowo posłużyć innym programem jak Clover Configurator, wygenerować potrzebne wpisy i przekopiować. Lub ściągnąć warunkowo nowy Open Core Confogurator. I tym otworzyć config.plist nad którą pracujemy. W zasadzie potrzebujemy jedynie 4-5 wpisów, jak numery seryjne, SmUUID. Patrz przykład.
UEFI; Protocols; ConsoleControl; YES
UEFI;Quirks;IgnoreTextInGraphics; YES (wymagane do wyjścia do konsoli podczas uruchamiania)
UEFI;Quirks;ProvideConcoleGop; YES (potrzebne do wyjścia do konsoli podczas uruchamiania)
UEFI;Quirks;SanitiseClearScreen; TAK (wymagane do wyjścia do konsoli podczas uruchamiania)
Pod UEFI;Drivers wpisujemy zastosowane drivery - patrz przykład.
Po dostosowaniu pliku zapisujemy go i zmieniamy jego nazwę na config.plist.
6.) Załaduj EFI na USB-Stick programem Clover Configurator
Następnie kopiujemy folder EFI z foldera OpenCore_BootLoader na pendrivie, … do EFI.
Po restarcie z BIOS wybieramy nasz pendrive z OC.
Jeśli już znajdziemy konfigurację idealną, możemy wyłączyć bootpickera i nasz hackintosh nie różni się od maca oryginalnego.
Dysk startowy wybieramy w systemie macOS. Praktycznie wszystko co do tej pory potrafiły jedynie oryginalne maci, teraz potrafi nasz hackintosh.
Instalacja Windows przebiega jak na oryginalnym macu i można skorzystać z Boot Camp.
Przyszłość należy do OC.
Przydatne linki:
https://github.com/acidanthera/OpenCorePkg
Przykłady:
https://ufile.io/mysarp2y
Wszystko robisz na własne ryzyko. Nie ponoszę żadnej odpowiedzialności.
Do Tutoriala dołączę przykłady Gigabyte Z390 Aorus Pro, Gigabyte Z390 M GAMING, Asus Prime Z390 A.
Polecam na początek przestudiowanie przykładu i przeczytanie PDF Reference Manual.
Eksperymenty z OC proszę robić na USB-sticku. I z niego startować.
1.) Komponenty
Gigabyte Z390 Aorus Pro, Gigabyte Z390 M GAMING, Asus Prime Z390 A i9-9900K
Procesor: i7 - 8700k, i7-9700k, i9-9900K. Naturalnie inne są możliwe.
GPU: Vega 56, RX5x0, inne od AMD, jednak nie Nvidia.
2.) Oprogramowanie
TINU (https://www.hackintosh-forum.de/attachm ... u-2-1-zip/)
OpenCore EFI Maker (https://www.hackintosh-forum.de/attachm ... 1-2-2-zip/)
Clover Configurator (tylko do mount-montażu EFI)
X-CODE, PlistEdit Pro lub inne edytory plist.
3.) Utwórz instalator USB
a) Załaduj macOS z AppStore, lub inną metodą
b) Startuj TINU i utwórz instalator macOS na USB
W rezultacie masz pendrive instalacyjny macOS, który działa na oryginalnym komputerze Apple.
4.) OpenCore EFI Maker
Aby instalacja działała na komputerze PC, musimy zainstalować program ładujący czyli Bootloader na ukrytej partycji o nazwie EFI.
W tym celu użyjemy OpenCore, stosunkowo nowego bootloadera, który wciąż jeszcze jest w fazie beta, jednak działa już zadziwiająco sprawnie.
W niektórych aspektach lepiej jak Clover.
Open Core w założeniu jest czymś więcej jak bootloaderem, ma zbliżyć proces do oryginału, czyli do komputerów mac.
a) Pobierz OpenCore EFI Maker
b) Uruchom OpenCore EFI Maker. Mamy wybór 4 opcji, wybieramy 1 ponieważ inne wymagają dodatkowego oprogramowania. Na pytanie: Do you use Legacy Boot [y/n]: odpowiadamy n,
Do you use FileVault? [y/n]: n.
Mogą pojawić się inne pytania jak: HfsPlus.ef, wtedy YES, ponieważ hackintosh ma czytać woluminy HFS…
c) Następnie na pulpicie zostanie utworzony folder OpenCore_BootLoader. Zawiera całą EFI którą po doszlifowaniu wkopiujemy na ukrytą partycję o nazwie, jak wspomniałem wcześniej EFI.
5.) Dostosuj config.plist
Plik config.plist jest centralnym elementem OC. Wszystkie kexty, drivery i patche muszą być w nim zadeklarowane i opisane.
W odróżnieniu od Clovera bez opisu żaden element nie zostanie „uruchomiony“, pomimo że fizycznie może się na EFI znajdować.
a) W folderze utworzonym w punkcie 4 znajdziesz plik o nazwie FullSampe.plist
b) Otwieramy je za pomocą X-CODE lub PlistEdit Pro i stopniowo ustawiamy parametry:
ACPI - tu wpisujemy ewentualne patche SSDT, patche DSDT i Quirks.
Dla Add - niektóre SSDT jak 0-1-2 są standardowe i przynosi je sam OC. 3 i 4 tyczą się portów USB i należy je wykonać programem Hackintool, ściągnąć z sieci lub tymczasowo pominąć.
Patch - Łaty, które stosujemy w standardowej konfiguracji Clovera
Tutaj kopiujemy wszystkie wpisy z obszaru ACPI; DSDT; kopiuj i wklej je do naszej konfiguracji
ACPI;Patch; GFX0 to IGPU
ACPI;Patch; HECI to IMEI
ACPI;Patch; HDAS to HDEF
ACPI;Patch; SAT0 to SATA
ACPI;Patch; LPC to LPCB
ACPI;Patch; PEGP to GFX0
Pamiętaj by Enabled był zawsze na YES. Inaczej nie zadziała. Taka filozofia OC.
ACPI;QUIRKS, dla Gigabyte - Z390 Aorus Pro:
ACPI;QUIRKS;Normalice header; YES
ACPI;QUIRKS;rebase regions: YES
ACPI;QUIRKS;restHwSig; YES
Dla Gigabyte Z390 M GAMING wszystko na: NO
Następny punkt to Device Properties
Pod ADD - dodajemy najważniejsze devices, w zasadzie na początek dwa urządzenia, to jest iGPU i Audio.
PciRoot(0x0)/Pci(0x1f,0x3) to dla Gigabyte Z390 M GAMING to Audio, oczywiście te adresy musimy znać.
Tu pod layout-id możemy nastawić 01000000, co oznacza layout 1.
PciRoot(0x0)/Pci(0x2,0x0) to nasza karta graficzna na procesorze. Tu dla AAPL,ig-platform-id wybieramy pasującą wartość. Przykładowo ja dla i7 9700K wpisałem 0300923E ponieważ karta na procesorze nie ma obsługiwać monitora a jedynie liczyć. W edytorze jak TextWrangler wartość ta widnieje jako AwCSPg==.
Następny punkt to Kernel - tutaj opisujemy nasze kexty w Add
Jak przykładowo add Item 4 - WhateverGreen.kext; Enabled: TAK (aktywuje)
Jeśli jakiś kext dodamy ręcznie musimy go tu opisać. Należy zwrócić szczególną uwagę na kolejność ładowania kextów. Niektóre kexty są zależne od innych i te muszą być wyżej w kolejności uruchomienia. Lilu musi być zawsze pierwszy.
Kernel; Quirks przykładowo dla Gigabyte Z390 Aorus Pro:
Kernel; Quirks; AppleXcpmCfgLock; TAK
Kernel; Quirks; PanicNoKexDump; TAK
Kernel; Quirks; XhciPortLimit; TAK
Misc - Optyka OC:
Misc;Boot;ConsoleBehaviourOs; ForceText
Misc;Boot;ConsoleBehaviourUi; Text
Misc;Boot;ConsoleMode; Max
Misc;Boot;Resolution; 1920x1080@32
Misc;Boot;Timeout; 10(jak długo (sekundy) OC czeka z bootowaniem)
Security - Bezpieczeństwo; AllowNvramReset; TAK
(Aby zresetować NVRAM za pomocą bootpickera lub cmd + Opt + P + R jak w oryginalnym Mac)
Security - RequireSignature NO
Security - RequireVault NO
Security - ScanPolicy 0
(Wartość dla pierwszego rozruchu, można ją dostosować później)
NVRAM: (Niektóre zagadnienia)
NVRAM - Add - boot-args, argumenty rozruchowe jak przykładowo; -v keepyms=1
NVRAM; Add; 7C436110-AB2A-4BBB-A880-FE41995C9F82; csr-active-config; 00000000 (Ustawienie dla SIP)
(67000000-SIP całkowicie wyłącz, 00000000 włącz całkowicie, 30000000 pozwala na nie sygnowane kexty)
NVRAM; Add; 7C436110-AB2A-4BBB-A880-FE41995C9F82; prev-lang:kbd: pl:18 (Język = polski)
UWAGA: Rzeczy które nie rozumiemy pozostawiamy na razie bez zmian!
Długie adresy to identyfikatory GUID, przykładowo: 7C436110-AB2A-4BBB-A880-FE41995C9F82 to APPLE_BOOT_VARIABLE_GUID.
PlatformInfo;
Automatic: YES
Generic: Tu możemy się warunkowo posłużyć innym programem jak Clover Configurator, wygenerować potrzebne wpisy i przekopiować. Lub ściągnąć warunkowo nowy Open Core Confogurator. I tym otworzyć config.plist nad którą pracujemy. W zasadzie potrzebujemy jedynie 4-5 wpisów, jak numery seryjne, SmUUID. Patrz przykład.
UEFI; Protocols; ConsoleControl; YES
UEFI;Quirks;IgnoreTextInGraphics; YES (wymagane do wyjścia do konsoli podczas uruchamiania)
UEFI;Quirks;ProvideConcoleGop; YES (potrzebne do wyjścia do konsoli podczas uruchamiania)
UEFI;Quirks;SanitiseClearScreen; TAK (wymagane do wyjścia do konsoli podczas uruchamiania)
Pod UEFI;Drivers wpisujemy zastosowane drivery - patrz przykład.
Po dostosowaniu pliku zapisujemy go i zmieniamy jego nazwę na config.plist.
6.) Załaduj EFI na USB-Stick programem Clover Configurator
Następnie kopiujemy folder EFI z foldera OpenCore_BootLoader na pendrivie, … do EFI.
Po restarcie z BIOS wybieramy nasz pendrive z OC.
Jeśli już znajdziemy konfigurację idealną, możemy wyłączyć bootpickera i nasz hackintosh nie różni się od maca oryginalnego.
Dysk startowy wybieramy w systemie macOS. Praktycznie wszystko co do tej pory potrafiły jedynie oryginalne maci, teraz potrafi nasz hackintosh.
Instalacja Windows przebiega jak na oryginalnym macu i można skorzystać z Boot Camp.
Przyszłość należy do OC.
Przydatne linki:
https://github.com/acidanthera/OpenCorePkg
Przykłady:
https://ufile.io/mysarp2y