Install macOS Moajve - fidele007/Asus-ROG-GL552VW-Hackintosh GitHub Wiki
- USB 2.0 flash drive of at least 8GB to create a bootable macOS installer
- Access to a real Mac or a hackintosh (or, as a last resort, a macOS VM) to download and write Mojave installer files to the USB
- Format the USB as a GTP partition with Disk Utility or with:
# repartition /dev/disk1 GPT, one partition
# EFI will be created automatically
# second partition, "install_osx", HFS+J, remainder
diskutil partitionDisk /dev/disk1 1 GPT HFS+J "install_osx" R
where /dev/disk1
is your USB disk. Check which one is yours with diskutil list
- Copy the installer files:
sudo "/Applications/Install macOS Mojave.app/Contents/Resources/createinstallmedia" --volume /Volumes/install_osx
where intall_osx
is the name of your formatted USB flash drive.
This will take some time, so be patient. An alternative method is using UniBeast 9.0.0 to do all this automatically for you.
NOTE: In case the downloaded installer image is smaller than expected (normally it should be around 5-6GB), you're gonna need to open the installer app to download all the files (DO NOT RESTART when it asks you to).
- Get the latest version of Clover EFI bootloader
- Install the bootloader by choosing
Customize
with the following options:- Clover for UEFI booting only
- Install Clover in the ESP
- UEFI Drivers
- DataHubDxe-64
- FSInject-64
- SMCHelper-64
-
VBoxHfs-64: you're not gonna need this - ApfsDriverLoader-64
- AptioMemoryFix-64
- OsxAptioFix3Drv-64
- OsxAptioFixDrv-64
- OsxLowMemFixDrv-64
- FileVault 2 UEFI Drivers
- FirmwareVolume-64
You also need two other drivers in CLOVER/drivers64UEFI
:
- FakeSMC.kext: makes the OS thinks that the machine is a real Mac. Without it, you won't ever be able to reach the installer.
- RealtekRTL8111.kext: Ethernet kext
- USBInjectAll.kext: injects all USB ports to get them recognized
- FakePCIID.kext + FakePCIID_XHCIMux.kext: increases USB port limit
- Lilu.kext: dependency kext required by other kexts
- WhateverGreen.kext: most recommened graphics kext for newer macOS versions
- VoodooPS2Controller.kext: for mouse and keyboard
All the above kexts are to be put in CLOVER/kexts/Other
. Do not put them in any other folders lest they won't be loaded. In case you do not see your SATA drive in the installer, you're also going to need SATA unsupported kexts of which there are:
- SATA-100-series-unsupported.kext
- SATA-200-series-unsupported.kext
- SATA-300-series-unsupported.kext
- SATA-RAID-unsupported.kext
You can find all these kexts here
The included CLOVER/config_preinstall.plist
contains all the necessary configurations needed to make it to the installer. Make sure to rename it to config.plist
since Clover chooses config.plist
by default.
Some details for the config
file:
-
dart=0
: bypass Vt-d -
-liludbgall
: show all debugging info for Lilu kext (optional) -
igfxdump
: dump your graphics info usingWhateverGreen.kext
(optional) -
-v
: verbose mode to show everything happeneing under the hood. Enabling this is useful for debugging in case there is a problem. -
keepsyms=1
: tells OS to print the symbols on a kernel panic -
debug=0x100
: prevents a reboot on kernel panic -
kext-dev-mode=1
: allows unsigned kernel extensions (kexts) to load -
shikigva=40
: this flag is specific to the iGPU. It enables a few Shiki settings that do the following (found here):- 8 - AddExecutableWhitelist - ensures that processes in the whitelist are patched
- 32 - ReplaceBoardID - replaces board-id used by AppleGVA by a different board-id
The kernel patches I use:
<dict>
<key>Comment</key>
<string>MSR 0xE2 _xcpm_idle instant reboot(c) Pike R. Alpha</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
ILniAAAADzA=
</data>
<key>Replace</key>
<data>
ILniAAAAkJA=
</data>
</dict>
<dict>
<key>Comment</key>
<string>Disable panic kext logging on 10.13 release kernel (credit vit9696)</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
igKEwHRE
</data>
<key>MatchOS</key>
<string>10.13.x</string>
<key>Replace</key>
<data>
igKEwOtE
</data>
</dict>
<dict>
<key>Comment</key>
<string>Disable panic kext logging on 10.14 release kernel (credit vit9696)</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
igKEwHRC
</data>
<key>MatchOS</key>
<string>10.14.x</string>
<key>Replace</key>
<data>
igKEwOtC
</data>
</dict>
The kext patches I use:
<dict>
<key>Comment</key>
<string>change 15 port limit to 30</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
g72M/v//EA==
</data>
<key>InfoPlistPatch</key>
<false/>
<key>Name</key>
<string>AppleUSBXHCIPCI</string>
<key>Replace</key>
<data>
g72M/v//Hw==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change 15 port limit to 26 in XHCI kext</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
g710////EA==
</data>
<key>InfoPlistPatch</key>
<false/>
<key>MatchOS</key>
<string>10.12.x</string>
<key>Name</key>
<string>AppleUSBXHCIPCI</string>
<key>Replace</key>
<data>
g710////Gw==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change 15 port limit to 26 in XHCI kext</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
g32MEA==
</data>
<key>InfoPlistPatch</key>
<false/>
<key>MatchOS</key>
<string>10.13.0,10.13.1,10.13.2,10.13.3</string>
<key>Name</key>
<string>AppleUSBXHCIPCI</string>
<key>Replace</key>
<data>
g32MGw==
</data>
</dict>
<dict>
<key>Comment</key>
<string>disable port limit in XHCI kext (credit PMHeart)</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
g32UDw+DlwQAAA==
</data>
<key>InfoPlistPatch</key>
<false/>
<key>MatchOS</key>
<string>10.13.4,10.13.5</string>
<key>Name</key>
<string>AppleUSBXHCI</string>
<key>Replace</key>
<data>
g32UD5CQkJCQkA==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change 15 port limit to 26 in XHCI kext (credit FredWst)</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
g32UDw+DlwQ=
</data>
<key>InfoPlistPatch</key>
<false/>
<key>MatchOS</key>
<string>10.13.4,10.13.5</string>
<key>Name</key>
<string>AppleUSBXHCI</string>
<key>Replace</key>
<data>
g32UGg+DlwQ=
</data>
</dict>
<dict>
<key>Comment</key>
<string>disable port limit in XHCI kext (credit RehabMan, based prior PMHeart patch)</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
g32IDw+DpwQAAA==
</data>
<key>InfoPlistPatch</key>
<false/>
<key>MatchOS</key>
<string>10.13.6</string>
<key>Name</key>
<string>AppleUSBXHCI</string>
<key>Replace</key>
<data>
g32ID5CQkJCQkA==
</data>
</dict>
<dict>
<key>Comment</key>
<string>disable port limit in XHCI kext (credit PMHeart)</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
g/sPD4MDBQAA
</data>
<key>InfoPlistPatch</key>
<false/>
<key>MatchOS</key>
<string>10.14.x</string>
<key>Name</key>
<string>AppleUSBXHCI</string>
<key>Replace</key>
<data>
g/sPkJCQkJCQ
</data>
</dict>
<dict>
<key>Comment</key>
<string>Enable TRIM for SSD</string>
<key>Disabled</key>
<true/>
<key>Find</key>
<data>
AEFQUExFIFNTRAA=
</data>
<key>InfoPlistPatch</key>
<false/>
<key>Name</key>
<string>IOAHCIBlockStorage</string>
<key>Replace</key>
<data>
AAAAAAAAAAAAAAA=
</data>
</dict>
<dict>
<key>Comment</key>
<string>Skylake APIC fix, discovered by Pike R. Alpha</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
wegQD7bw
</data>
<key>InfoPlistPatch</key>
<false/>
<key>Name</key>
<string>AppleAPIC</string>
<key>Replace</key>
<data>
vhcAAACQ
</data>
</dict>
Choose a Mac model that's most compatible with your version of macOS. I use iMac17,1
. Use Clover Configurator for easy configuration of your SMBIOS.
- Disable Fastboot
- Disable Secure Boot
- Disable VT-d
- Disable Intel Virtualization Technology
Will all these configurations in place, you should be able to boot into the installer and install your macOS. To avoid USB problems, plug the bootable USB into the USB 2.0 port, which is on the right side of the laptop, instead of the USB 3.0 ports.
Also, keep in mind that in Mojave, Apple has removed the possibility to install to a HFS partition and force install to an APFS partition instead.
Rant: APFS is shitty because so far it's not fully documented, so if you have any problem, which Hackintoshers are prone to have regularly after each OS update, and the superficial Disk Utility's first aid does not help, well you're fucked because you cannot rely on other more powerful third-party disk repair tools like DiskWarrior
which currently does not support APFS repair thanks to Apple. I personally ran into this problem where after a system update, my file structure somehow gets corrupted and Disk Utility couldn't do shit. So, the takeaway from this is to prepare yourself for the consequences when you decide to do any system update on your Hackintosh. End rant.