Share this post

Link to post

Share on other sites

Hello！ @MaLd0n, Thanks so much for compiling the DSDT last time!So far it is working good on my 10.12.6 and 10.13.4.By the way,Could u pls help me inject the built-in Mic ?I hv generated the send_me file based on the App u offered!Really appreciate your help.

Share on other sites

Hello！ @MaLd0n, Thanks so much for compiling the DSDT last time!So far it is working good on my 10.12.6 and 10.13.4.By the way,Could u pls help me inject the built-in Mic ?I hv generated the send_me file based on the App u offered!Really appreciate your help.

Share this post

Link to post

Share on other sites

Thanks MaLd0n.
I changed the SMBIOS to MacBook Pro 6,2, I don't know if it's the right model
I used your clover and found several problems:
1, there is no battery information, the top bar does not show battery information
2, Mic no signal input, the speaker is normal. There are only built-in speakers and built-in Mic in the sound setup options.

How to solve these problems?

Edited April 11 by visin

Share this post

Link to post

Share on other sites

Thanks MaLd0n.
I changed the SMBIOS to MacBook Pro 6,2, I don't know if it's the right model
I used your clover and found several problems:
1, there is no battery information, the top bar does not show battery information
2, Mic no signal input, the speaker is normal. There are only built-in speakers and built-in Mic in the sound setup options.

Share this post

Link to post

Share on other sites

So I formatted the new SSD to GPT and the USB finally booted to clover. Now another problem, at clover menu i added -v -s -x nv_disable=1 npci=0x2000 PCIRootUID=1 and it booted to a complete black screen. I tried booting with just -v nv_disable=1, same thing. I used clover configurator and changed SMIOS to iMac 10,1 system definition.

Share this post

Link to post

Share on other sites

The problem I got is the system will stuck between the 2nd stage boot logo and login screen on first boot,
I need to soft restart the PC in order to get pass the stuck, whatever at clover or at bios.
The system also can't shutdown occasionally if it's been on for a while. I believe they are the same problem.

p.s. 'cpus=1 boot flag can solve it, but as you know the performance will be slow as hell.

Announcements

Similar Content

Apologies if this has been answered, every time I search I get a timeout on the site and I can't seem to get the search to work

I've been sitting pretty with Yosemite for a while , but a recent hardware upgrade (Audio interface) means I can jump from Yosemite.

I've successfully upgraded Clover, then the OS and for the most of it, it seems great. Everything works but the Graphics Driver (NVidia GeForce GTX670.)

I can only boot into Mac if disable the NVIDIA drivers with the boot flag nv_disable=1 however that's not great I end up with one monitor working at 1024 x 768.

I've updated the NVIDIA web drivers to the latest my build of sierra can take.
I have the boot flag for web driver to be enabled (can't remember off the top of my head.. I'm on the work pc, soon to be home)

Any ideas would be grateful, I spent much of last night and morning on this.

I have been working to move my Late 2009 Xserve MacOS Server onto Ubuntu 18.04 LTS QEMU/KVM based virtual machine using OVMF and Clover.

After much effort and testing based on the following information from: Kraxel's, Kholia, Gordon Turner and Clover site:
https://www.kraxel.org/blog/2017/09/running-macos-as-guest-in-kvm/
https://github.com/kholia/OSX-KVM
https://gist.github.com/gordonturner/2a2e5ecde5e7860b52e2
https://clover-wiki.zetam.org/Home

I have now managed to get OVMF/Clover boot and install of MacOS Sierra.

I started with Ubuntu 16.04 initially but this required download and compile of QEMU to get update of machines to: pc-q35-2.9 or better, so I moved to Ubuntu 18.04, which has pc-q35.2.11 available as standard.

So I am now working with standard Ubuntu 18.04 LTS based systems with following packages: kvm/qemu/libvirt/bridge-utils/ovmf/virt-manager

As I want to use PCIe Passthrough for a number of PCIe card currently installed in the server (SmallTree 10GbE & Areca ARC-1883 SAS RAID) I set up my machine with linux kernel boot configuration (/etc/default/grub) of:
GRUB_CMDLINE_LINUX_DEFAULT="iommu=1 intel_iommu=on" (as my machine is intel VT-d based HW virtualisation)

This resulted in creation of a number of iommu groups (see /sys/kernel/iommu_group directory for this and this posting for information: https://forum.level1techs.com/t/ubuntu-17-04-vfio-pcie-passthrough-kernel-update-4-14-rc1/119639 , noting that Ubuntu 18.04 LTS has kernel version: 4.15.0-22-generic so there is no need to do kernel update for iommu to work).

Using bare minimal Clover config.plist:

And following Clover UEFI drivers:

I can boot MacOS, but it is very very slow... it sits on the apple boot logo for over a minutes before finally moving onto the progress bar.
The other problem I have is that no PCI or Network devices appear in the "About This Mac" System Information Report and I cannot get any network connectivity from bridged E1000 network device.

Here is my virtlib.xml dump for the virtual machine:

Can any one advise of whether I need to update the CLOVER config.plist to add extra items in to allow network and PCI Passthrough to work.

Introduction
The H370 chipset powers 8th generation Intel Core-i CPUs. Even though the name H370 rings comparable to Z370, the H370 is based on newer silicon. This it also requires some new approaches compared to the Z370. An example would be on-die USB 3.1 and WiFi support.

Since this guide is not a "hold-your-hand-every-step" guide, I assume you know:
Clover installation and configuration
How to create an install medium for MacOS
Access and configure the BIOS
Have heard of ACPI patching (I'm a newb at this myself)
What works
Sleep (via DSDT edits and emulated NVRAM)
On-board Audio (via CloverALC script)
Native power management (without any kext or patch)
All USB ports (and only those present are active)
iGPU for both acceleration and display
dGPU (I'm running an Nvidia GTX 1080)
Untested
NIC --> I'm using WiFi only
What doesn't work
Native NVRAM via AptioMemoryFix.efi
DMVT Pre-alloc higher than 64MB (but not necessary)
Changes to the guide:
22.5.18: Added SSDT hot-patching to enable sleep, replacing DSDT static patching as an alternative.
23.5.18: Add iMac18,1 as alternative SMBIOS config for those relying on the iGPU for output

1. Installation
This guide heavy inspired by the work of /u/corpnewt of /r/hackintosh and his (sorta) Vanilla guide

1.1 Create the install media for MacOS
Follow this, if you are using a Mac to start off with. If you are totally new to MacOS, then please check the basic guide Creation of an installer media in windows or linux

1.2 Install Clover on the install media
Using the Clover installer, ensure you are installing to the USB medium you are using for the installer.
Chose the following options:
AptioMemoryFix
UEFI booting only
Install to ESP
You have to get your hands on an apfs.efi. A google search can help, or extracting it from the Installer package. Make sure you procure a version matching the MacOS version you are about to install. Place the apfs.efi in drivers64UEFI.

1.2 Adjust the config.plist for the installer
You can use the config.plist attached as a guideline, but take a look at it before and at least adjust the SMBIOS - otherwise it won't boot.
Attention: The attached plist contains audio patches introduced by a post-install step. If you run into problems, you might remove those. It also contains a manual slide value, which should normally not be needed, but works fine for me. It is also tuned for usage with an Nvidia Pascal dGPU as main GPU.

The config you create now should serve you nicely for install and running the system.

Take care of adding the following basics:
SMBIOS: iMac18,3 - You can generate a serial number via Clover Configurator. The creation of a proper SMBIOS is covered in many guides to good extend
Note: If you aim at using the iGPU for output, a user reported that iMac18,1 works better - since iMac18,3 produces sever flicker.
Look at the graphics section and adjust the injection for Intel to your situation
Fixes

Patches

Devices

Graphics

Kernel and Kext patches

1.3 kexts and friends
Add the supplied SSDT-UAIC.aml to "patched" - it limits the injected USB Ports to the actual number and ports valid for this board.

Required kexts on "Other":
FakeSMC.kext
IntelGraphicsFixup.kext
Lilu.kext
When having an Nvidia card: NvidiaGraphicsFixup.kext
IntelMausiEthernet.kext in case you're running Ethernet
USBInjectAll.kext with the HCI-300-series-injector.kext --> These two should be installed to /L/E after install
We are leaving sound out at the moment, this is something for post-install. Please note the absence of Shiki, I don't find it necessary. Video material I tried made use of the iGPU without shiki.

1.4 Check BIOS and install
You should be ready for install. But before you reboot, please take a look at your BIOS and set it up accordingly (copied from the aforementioned guide and adapted):
Load Optimized Defaults
Disable VT-d setting
If your system has Secure Boot Mode, disable it
Set OS Type to Windows 8/10 or OtherOS - I have not seen a difference
Turn off internal Serial and Parallel port
Turn off Network stack for boot
Turn off wake-on-lan (for now)
Set XHCI Handoff to Enabled
Don't enable decode over 4G
Depending on your GPU, set priority for boot
Set internal GPU to enable
Set DMVT pre-alloc to 64MB
Set USB legacy to enabled
Activate XMP profile 1 f your Ram has it (mine doesn't and I added the timings manually)
Set ERP to enable, disable platform power management (I need to do more research if this could be enabled)
I've attached my current BIOS config "hack2". You can place that on a fat32 drive (the EFI partition of your install USB drive might be an idea) and see if it loads. It's made for and with the F2 BIOS.

The install itself should be like other MacOS Hackintosh installs with it several reboots and ensuring to select the correct boot device in Clover.

2. Post-install

2.1 Install clover on target
This is a no-brainer, but install a fresh copy of Clover on your target medium.

During install select again AptioMemoryFix but also additionally
EmuVariableUefi-64.efi
Install RC scripts on target volume
because otherwise NVRAM doesn't seem to work

After the install, copy
config.plist
contents of "Other"
content of "patched"
apfs.efi from drivers64UEFI
to your new clover install.

2.1 Edit ACPI for slumber
Choose one option, not both. The hot-patch is experimental, but for the moment it is stable.

2.1.1 Edit DSDT
This is necessary only once on initial install and every time, you edit or upgrade the BIOS. The DSDT.aml attached to this post might work for your system or give you a file to compare to. Don't expect it to work for you, though.
I won't go into the details of DSDT extraction and patching. There are better guides (the linked guide is a rip-off of rehabman's guide from a different forum). Please follow such a guide to extract your ACPI data.

Locate and disassemble the DSDT with the newest iasl binary you can put your hands on, then open it with MacIASL in its newest version you can find (Hint: Here is a good source) You can check if the version is new enough if MacIASL doesn't throw error upon compiling a freshly extracted DSDT.aml or DSDT.dst

2.1.2 Use SSDT hot-patching
Instead of having to re-extract and re-patch the DSDT on every BIOS change or update, Hardware change one can also use ACPI hot-patching.
It's a combination of config.plist patches and an SSDT, which is hot-patched into the ACPI (if I understand the process correctly)

You need to add this SSDT-GPRW.aml to your Clover folder in the designated position at Clover/ACPI/patched
You need to add this patch to your config.plist. It goes into the DSDT patch section
Note: This works for me, but the patch removes the _PRW method from all devices in the DSDT. This could have side-effects. So far, I have seen none. At the moment I'm also not applying any other patch, compared with the additional edits I made to the DSDT method before.

2.2 Install kexts to system
As mentioned in the install section, it's better to follow rehabman's instruction and install USBinjectAll.kext to /L/E:
sudo cp -R Release/USBInjectAll.kext /Library/Extensions
sudo touch /System/Library/Extensions && sudo kextcache -u /
2.3 Enable onboard Audio
This is where I'm not so happy currently, I'd like it to work without altering AppleHDA. But currently I find no other way.

2.3.1 Install FakePCIID & FakePCIID_Intel_HDMI_Audio
Rehabman tells us to use a kext installer to install it to /S/L/E. Chose the RELEASE folder

2.3.2 Run CloverALC command
Ensure your EFI partition is mounted before running this command
Get the newest version of CloverALC command (audio_cloverALC-xxx.sh) and run it. Our Audio codec is RTL887 and I'm running with layout ID 1

2.4 Optional steps
If you have a dGPU, now it's the time to install its drivers and adjust the config.plist for it.
This is out of scope of this guide. Yet, my supplied config.plist is ready to be used with Nvidia Pascal cards and using the Nvidia web driver.

3. ToDo
Move away from static DSDT patching to SSDT hotpatching --> requires my work
Native NVRAM --> requires developer work
Audio without AppleHDA patching --> requires developer work
4. Thanks to
@MaLd0nfor helping finding the right way with the DSDT
@RehabMan, for being a legend and helping me out patching
@toleda, for audio patches for the 300 series
/u/corpnewt, for his superb vanilla guide
@wmchris for his super XPS 9550 guide and introducing me to hot-patching
all the developers of clover and it's awesomeness