1,496 posts in this topic
Recently Browsing 0 members
No registered users viewing this page.
By Jiji The Fox
Hey, long time no post!
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.
UPDATE: I've managed to load successfully, between a combination of changing the SMBIOS to MacBook 14,2 and loading lilukext with NVIDIAgraphicsfixer.
Everything is the same as Yosemite, except I do not have HDMI audio or onboard sound. I do have a dedicated audio interface so I'm not at a true loss.
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:
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.
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)
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)
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
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
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.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
Add rehabmans repo (as per linked guide) and apply the following patches:
Rename _DSM to _XDSM Fix _WAK Arg0 v2 USB3 _PRW 0x6D Skylake (instant wake) Find the CNVW device and remove the _PWR function there.
Compile the DSDT and place it in "patched".
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.
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
Hi there, time for my first guide after asking so many things
Updated for newer Clover versions and with additional instructions for more apps: gdisk and RU.
So what may be overlooked sometimes in the whole boot loader discussion is the ability of UEFI to do more than just loading an OS. This is why I see ".efi" files as "apps" because in fact they just are, built on a special kind of API: UEFI. So, you can actually do stuff like editing, diagnosing, testing certain stuff at the lowest possible system level without booting to any OS.
DISCLAIMER: Use this guide at your own risk! For educational purposes only! Should do not any harm, but remember you are dealing with rather low level stuff. But at least for me everything went flawless.
Working clover installation Clover Configurator or some app to edit the config.plist
This is how to install the UEFI version of Memtest with Clover:
Download memtest, I used this link: Image for creating boot-able USB Drive Open the archive by double clicking on it. Mount the file memtest86-usb.img within by double clicking again. Now, you should see a folder named EFI in this volume, containing a folder BOOT. Open it. The files containing it are the actual app, in 32 and 64 bit versions. Think in almost all cases we want to use the 64 bit version. Now, mount your EFI partition, using Clover configurator. Create a folder named MemTest86 in the EFI folder on your main drive. Copy all files in the EFI/BOOT folder from the mounted image to your newly created folder. That ends the basic setup! Now, we add the correct Menu entry to the clover boot menu, so that we can actually start this app.
Get into clover configurator, open your standard config.plist from your boot drive and go to the GUI section. Under "Custom Entries", add an entry like this:
Please note while the path you enter is not case sensitive, you must make sure you use the backslash "\" for entering paths, and not a slash. So basically what we do is tell clover where it can find the app, give it a name, and tell clover it is a "Windows" app. Note: with older Clover versions we had to set this to "Linux", but for now "Windows" is the setting that works.
If you prefer to do a manual config, add this entry to your config.plist, under GUI/Custom/Entries:
<dict> <key>CustomLogo</key> <true/> <key>Disabled</key> <false/> <key>FullTitle</key> <string>MemTest86</string> <key>Hidden</key> <false/> <key>Ignore</key> <false/> <key>Image</key> <string>\EFI\CLOVER\themes\Icons\os_mint.png</string> <key>Path</key> <string>\EFI\MemTest86\BOOTX64.efi</string> <key>Type</key> <string>Windows</string> <key>VolumeType</key> <string>Internal</string> </dict> Now, save and reboot and you should see the newly created entry. Note that I also used a custom Icon - this is optional - in case you don't you will just see a generic windows icon instead:
And this is how it looks like:
PS: also noticeably faster and you get also more features with this version than with the older version, for example it does now write a log file. For more Information, see: http://www.passmark.com/forum/showthread.php?4315-Memtest86-Version-5-Beta-%28Pure-UEFI%29
Another app you can use is the UEFI version of gdisk (aka GPT fdisk), which you can use to edit and change your partitions.
Warning! Install and use this app at your own risk! If you do something wrong here you might nuke your drive(s), so only use that if you know what you are doing.
This is how to do it (even easier):
Download here: https://sourceforge.net/projects/gptfdisk/files/gptfdisk/1.0.1/gdisk-binaries/gdisk-efi-1.0.1.zip/download Mount your EFI partition Unzip the file and copy the resulting folder to your EFI Folder, so your path goes like this "/Volumes/EFI/EFI/gdisk-efi" Get into clover configurator, open your standard config.plist from your boot drive and go to the GUI section. Add an entry like this:
If you prefer to do a manual config, add this entry to your config.plist, under GUI/Custom/Entries:
<dict> <key>CustomLogo</key> <false/> <key>Disabled</key> <false/> <key>FullTitle</key> <string>GDisk</string> <key>Hidden</key> <false/> <key>Ignore</key> <false/> <key>Image</key> <string></string> <key>Path</key> <string>\EFI\gdisk-efi\gdisk_x64.efi</string> <key>Type</key> <string>Windows</string> <key>VolumeType</key> <string>Internal</string> </dict> When everything went OK you should see this after selecting the respective entry in Clover:
I recently found one more app that might be interesting to some, and thats "Read Universal" or in short "RU". This is a tool that enables you to debug your BIOS and read (and modify!) every imaginable data, including UEFI variables, ACPI Tables etc.
Warning, again! I think blindly messing around with this app is even more dangerous, but on the other hand it gives you access to a lot of potentially interesting stuff.
Download here: http://ruexe.blogspot.de/ The next steps are basically the same as above so make a folder in your EFI partition, copy the .EFI files and make another custom entry in your config.plist Here are some screens:
So this is what you also can do with UEFI and clover. I am curious which other useful applications might exist!
Anybody who knows, maybe post it here?