Jump to content
5T33Z0

[GUIDE] How to Update Clover for BigSur Compatibility using OpenRuntime and Quirks (v5123+)

24 posts in this topic

Recommended Posts

Background: Since the Pre-Release of Clover v5123, OpenCore's Memory Fixes have been integrated into Clover in the form of OpenRuntime.efi replacing previous AptioMemoryFixes. Since v5126 these are now obsolete and no longer supported, so an upgrade to v5126 is mandatory in order to be able to install and boot macOS Big Sur with Clover.

 

This guide is for everyone trying to update to the latest Clover version, so they can install and run Big Sur on their Machines. When updating to the latest iteration of Clover, there are several obstacles one can come across along the way. This guide is here to assist users trying to make the switch from the old Clover version with AptioMemoryFixes to the new one with OpenRuntime and Quirks Settings in Clover Configurator.

 

Problem: If you update your existing Clover installation by either installing the clover.pkg file or manually updating it the way you used to this will most likely result in an inoperable bootlader due to missing boot parameters.

 

Approach: In order to avoid the dilemma of your system not wanting to boot, you have to know that the following files are obsolete and are no longer necessary, so they should eiither be disabled/deleted when updating Clover from a built prior to version 5123 or omitted altogether when setting up a new EFI Folder:

 

  • AptioMemoryFixes: AptioMemoryFix.efi, OsxAptioFix3Drv.efi, OsxAptioFixDrv.efi and everyhing else containing "memoryfix".
     
  • Unnecessary Drivers (for UEFI-based Systems):
    • DataHubDxe.efi enables DataHub Protocol support if it is missing from the BIOS. Modern UEFI BIOSes usually support this. But you have to test on your own if your system relies on it or not.
    • FSInject.efi – For Kext-Injecttion. Pretty much obsolete since it's fully integrated in Clover nowadays. Might be necessary for Legacy Systems, though.
    • SMCHelper.efi – Necessary when using FakeSMC.kext and ONLY FakeSMC. If you use it in combination with VirtualSMC.efi, it leads to an instant Kernel Panics. So, in other words: when using VirtualSMC – which is higly recommended over FakeSMC – DON'T use SMCHelper, use it in conjunction with VirtulSMC.efi (although unnecessary in most cases).
    • EmuVariableUefi.efi – necessary for emulating NVRAM, if NVRAM is either not available (legacy systems) or working incorrectly.
    • OcQuirks.efi and OcQuirks.plist – delete if present. OcQuirks is a relic from earlier attempts to include OpenCore Booter Quirks into Clover up until version 5122.
       
  • Incompatible Kexts – wherever possible, you should use the latest available kexts provided by acidanthera (one of the devs behind OpenCore). Because incompatible Kexts are a source for Kernel Panics. I had an issue with my Laptop where VoodooPS2Controller.kext would cause a kernel Panic when used alongside VoodooPS2Mouse.kext, VoodooPS2Trackpad.kext and VoodooPS2Controller.kext. At the time I updated clover from 5122 to 5123, I didn't know that these 3 kexts are now includes as plugins inside of VoodooPS2Controller, so having them twice would cause a panic.

    In general, having Kexts wich have dependencies to other kexts can cause a Kernel Panic if not loaded in the correct order. In OpenCore, you can and have to set up the correct loading order of kexts manually by yourself, but in Clover only a few essential kexts like Lilu and Fake/VirtualSMC are hard-coded in, so they are always loaded first. It took me a while to figure this out. So when you update Clover and you are using lot of Kexts (usually on Laptops), try to update all Kexts first using Kext-Updater which is incredibly useful tool to download all sorts of bootloader-related files, have a look inside of them so see if they include more kexts as plugins and make sure nothing is present twice – HID, Wifi and Bluetooth kexts come to mind here. If you get panics you can not isolate, just move all unnecessary kexts to the "off" folder to temporarily to work around the issue by starting with a minimal set off kexts to get the system running. Then put the disabled kexts back one by one to find the culprit for the panic.

 

Updating your EFI
 

  1. Prepare an USB Stick. Format it to FAT32 (MBR). We'll use it for testing our updated EFI Folder first, before copying it to the ESP on the HDD.
  2. Download the latest Clover Release  as a .zip archive for a manual update (currently "CloverV2-5126.zip"): https://github.com/CloverHackyColor/CloverBootloader/releases
  3. Extract the .zip. We'll create our EFI based on the one insides of it.
  4. Have a look at the "EFI > Clover > drivers > off > UEFI" Folder – you find the following Files:2138534172_CloverDrivers.thumb.jpg.9a71326c91b5d32edd3e10eadb8194a7.jpg
  5. Copy the following files over to EFI > Clover > drivers > UEFI: ApfsDriverLoader.efi, VBoxHfs.efi and OpenRuntime.efi
  6. Now we have a minimal set of Drivers which looks like shown below. The files tagged in gray are in the drivers Folder by default and are most likely unnecessary on UEFI-based systems. As mentioned earlier, SMCHelper MUST be deleted when using VirualSMC.kext! I would turn of each of the gray drivers one by one and chick if the system still boots without them.
    2130302593_Bildschirmfoto2020-11-17um19_44_49.png.2c1032a8f12f39774ebeddf6e92f1f30.png
  7. Next, copy over your kexts (updated to the latest available version, of course), your ACPI > patched folder and your config.plist form your existing EFI Folder
  8. Open Clover Configurator and update it to the latest Version. It should now include a new section at the bottom called Quirks, as mentioned earlier
  9. Now open your config.plist you copied over from your working EFI and click on "Quirks". It should look like this (without the descriptions of course):
    Quirks_en.thumb.png.c64d581ecb16079b3d223fb5fd77cc7d.png
  10. Head over to the OpenCore Install Guide and pick the guide for your CPU Family and Platform.
  11. Jump to the "Booter" Section. It contains all required Booter Quirks tinted green in the screenshot. Make sure to unfold the "more in-depth info" box to see what they do. Find the options for your system and tick them away in Clover Configurator.
  12. Next, jump to the "Kernel" section of Dortania's guide and copy over the settings from "Quirks" and "Scheme". Again, make sure to unfold the "more in-depth" section to find all necessary settings. NOTE: some of the settings Located in "Kernel > Quirks" have different names and are located in the "Kernel and Kext Patches" section of Clover Configurator. These include:
    1704231663_KernelQuirksother.thumb.png.5717d3418c3d9c1ba5be08e1392d8842.png
    In most cases you have these set up correctly already, otherwise your system wouldn't have started before. But it's good to double check if you have settings enabled which may be unnecessary.
  13. Once you've ticked all the necessary quirks, save your configuration, copy the new EFI Folder to the root of your USB Flash Drive and try booting from it. If everything was set up correctly, the system should boot as expected.
  14. In the Clover Boot menu, perform an NVRAM Reset (F11) to clean out possible remnants of previous Aptio Memory Fixes and then start macOS.
  15. If it does boot, you can mount the ESP partition of your hard drive, backup your ole EFI Folder, delete it and put in the one from your USB Flash drive to make the changes permanent.

 

TROUBLESHOOTING: If you get Kernel Panics take a note of them and head over to the OpenCore Troubleshooting Guide and have a look at the "OpenCore Boot issues" and "Kernelspace Issues" sections to find your error message and possible fixes to resolve it. Another great resource to check if your Clover config is set-up correctly in general (excluding Quirks) is the Hackintosh Vanilla Desktop Guide For more info about how OpenCore differs from clover and see which settings, drivers and features are compatible, check out the Clover Conversion Guide.

 

Good luck!

 

PS: If you run into trouble after following this guide you can upload your config.plist and I can have a look at the quirks.

PSS: When running Big Sur, you need to remove the PreBoot Volume from the "Hide" Section of the GUI because if I understand correctly, Big Sur requires booting from it.

PSSS: if your system boots correctly you can upload a screenshot with your quirks with additional Info like your Board and CPU which might be helpful for other users.

 

Edited by 5T33Z0
finishing up
Share this post

Hello there,

I was planning to install Big Sur on my Lenovo desktop hack, and tried this conversion guide.

In terms of usability, clover 5126 doesn't boot my Big Sur installer (maybe expected) nor my current Catalina installation.

It stops at

rooting via boot-uuid from /chosen 

I attach my config.plist (without SMBIOS section).

 

System on my signature

 

 

config.plist

Share this post

@pepitilloIs this config.plist for the Kabylake System mentioned as "Config 2" in your SIgnature? I corrected some quirks. You have a lot of boot-args. Are you sure you need all of them?

 

config_edit.plist

 

PS: if this does not fix it, upload your EFI please withot the themes folder.

Edited by 5T33Z0
Share this post

Hi, 

It's a Skylake desktop.

I have so many boot args because I needed all of them when I first installed my system back in 2016 (I was trying some betas too, because of that I have beta args). Maybe I could retire some of them. 

I'm gonna try your changes as soon as possible. Maybe I could try that tomorrow.

Thanks 

 

Share this post

@pepitillo Here you go.

 

Changes: Followed Clover Vanilla Dektop Guide for Skylake to update config. Followed Dortania OpenCore Guide for checking Quirks.

 

• Cleaned out ACPI Section and deleted ACPI > Original Folder to slim archive

• Trimmed Boot-Args

• Disabled USB Port Limit Patches for older OSes. Added patches for Catalina

• Quirks: disabled XCHI Portlimit since USBPorts.kext is present

• Deleted Bluetoothfirmware kext for uploading (15 mb) to slim archive. You have to put it back in!

• Removed FakeSMC in Favor of VirtualSMC. Deleted SMCHelper as well > incompatible with VirtuaSmc

• Replaced VoodoooTscSync with CpuTscSync.kext > It's the new version of this kext

• Removed unnecessary Folders

 

Good Luck

 

EFI_pepitillo.zip

Share this post

Hello,

 

I'm stuck at the same point.

I'm gonna incorporate some of your improvements to my current 5122 installation. I'll keep my eyes on next releases of clover and issues of the project, maybe it will be fixed in nexts iterations.

 

Anyway, thanks for your help @5T33Z0

Share this post

On the weekend I tried to build clover for my current desktop as well with all the necessary settings taken over from my working OpenCore config and I got stuck as well. The "[EB LOG:EXITBS:START]" error seems to be an issue with the 5126 release: https://github.com/CloverHackyColor/CloverBootloader/issues/309

Edited by 5T33Z0
Share this post

Hi, some updates.

I was trying to build an opencore config for my computer based on opencore guide. I'm stuck on the same place as stuck in clover.

rooting via boot-uuid from /chosen

So there's something with Opencore rater than Clover integration.

Share this post

23 hours ago, pepitillo said:

Update

I can successfully boot opencore by setting ReleaseUsbOwnership to true.

IDK if this is possible in Clover, I'll try later.

 

The Feature is called "FixOwnership" in Clover. Have a look at the Clover Conversion Guide to see what's what in Clover/OC

 

https://github.com/dortania/OpenCore-Install-Guide/blob/master/clover-conversion/Clover-config.md

Share this post

2 hours ago, ltooz_audis said:

Nice tutorial but I can't seem to get the clover to display the recovery boot partition, only Catalina and NOT Big Sur. Can yours show the recovery boot partition?

Thanks,

Louis

Clover doesn't support Big Sur Recovery boot till the moment, @Slice and @Jief_Machak are still working for more optimization and issues fixing 

Share this post

@5T33Z0 Nice Tutorial!  Sharing my experience in case it helps others. I'm still running CLOVER r5122 (UEFI) and Catalina 10.15.7.03 as the baseline on my HackMini8,1 and was able to apply your suggestions as follows:

  • Removed FSInject.efi
  • Removed SMCHelper.efi (even though I am using FakeSMC.kext)
  • Keeping OcQuirks.efi (since I'm still on r5122)

I tried removing DataHubDxe.efi (since I think my rig is "modern"), but my system will not boot Catalina 10.15.7.03 without DataHubDxe.efi.

 

My CLOVER drivers are now limited to the following:

  • ApfsDriverLoader.efi
  • DataHubDxe.efi
  • NvmExpressDxe.efi
  • OcQuirks.efi (since I'm still booting with r5122)
  • OpenRuntime.efi
  • VBoxHfs.efi

I'm currently testing this reduced driver set with a USB (keeping my SSD EFI untouched) and will update my SSD after I confirm proper operation through a few boot cycles.

 

Thanks again!  Nice work.  

 

EDIT: Note that when booting with OC 0.6.3, I need only the following drivers (still using FakeSMC.kext):

  • HfsPlus.efi
  • OpenRuntime.efi
Edited by tonyx86
Share this post

@tonyx86 Thanks for sharing your experiences. It's always a bit of experimenting involved. ApfsDriverLoader is included in OpenRuntime so you don't need it in OpenCore. As far as Clover is concerned, you could test if it will boot from apfs volumes without it. But I think it is still required though, since it looks like Clover is only making use of the memory fix portion of OpenRuntime.

Share this post

On 11/28/2020 at 3:07 AM, PippoX0 said:

I will give a try in my legacy rig

Legacy boot of Clover 5126 or 5127 can not boot Big Sur in my FX-6300, P6TSE, P5Q PRO, or GA 775 hackintoshs yet because these have no UEFI. Put OpenRuntime.efi in EFI/CLOVER/drivers/BIOS not working !

But legacy boot with OpenCore worked in these hackintoshs from 10.13.6 to 11.1 smoothly.

If yours can boot Big Sur, can you share your EFI for me ?

Edited by jsl2000
Share this post

On 12/10/2020 at 2:52 AM, 5T33Z0 said:

@tonyx86 Thanks for sharing your experiences. It's always a bit of experimenting involved. ApfsDriverLoader is included in OpenRuntime so you don't need it in OpenCore. As far as Clover is concerned, you could test if it will boot from apfs volumes without it. But I think it is still required though, since it looks like Clover is only making use of the memory fix portion of OpenRuntime.

I just performed the most recent Catalina 10.15.7 security update and Safari 14.0.2 updates on my HackMini8,1 and the updates were without issues.  I'm posting this as an added validation that my reduced CLOVER driver set (repeated below, still running CLOVER r5122 UEFI) is sufficient for normal Catalina 10.15.7 operation and for Catalina installers.  Thanks again for this thread.

  • ApfsDriverLoader.efi
  • DataHubDxe.efi
  • NvmExpressDxe.efi
  • OcQuirks.efi (since I'm still booting with r5122)
  • OpenRuntime.efi
  • VBoxHfs.efi

 

See new version screenshots here.

Edited by tonyx86
Share this post

  • 2 weeks later...

Yes @tonyx86 a kind reminder to everyone, NvmExpressDxe.efi is for older maOS's that don't natively support NVMe, we don't need this for Mojave and newer.

 

That's also my minimum EFI drivers except that I am an old-school guy and still use FSInject.efi and VirtualSMC.efi :D

There is still no conclusive evidence as to whether keep FSInject.efi and VirtualSMC.efi (instead of SMCHelper.efi that's for FakeSMC.kext) and digging on the net only provides some user's feedback rather some developers' insight (as they see the code that I cannot). Originally in older days, it was a "Driver responsible for Clover's /EFI/kexts/XXX kext injection into kernelcache". Not sure if it's now integrated in main CLOVERx64.efi ? Slice responded here but... 8 years ago. 

 

Perhaps they were indeed for older macOS and since High Sierra or Catalina, they too are no longer needed?

 

UPDATE:

As Slice reported today, FSInject.efi "is for 10.7 (Lion) and older systems which are able to load individual kexts instead of prelinkedkernel" so I also try booting without it on r5123-1 and I had no issues removing it.

Edited by MacKonsti
Share this post

I have created a Clover EFI with r5127, with help of the guide given for big sur and added the necessary kexts, drivers and made the efi to match settings from my old EFI. I am on Pentium G4600,NVIDIA 710, Gigabyte HM110m-h mobo,  i was able to boot the macOS Catalina installer on r5122, but running big sur installer gives kernel panic -

panic cpu2 caller ...initproc exited --exit reason namespace 2subcode 0x4 description:none.

I gave the FakeCPUID 0x0306A0 in the config.plist with the help of clover configurator, added the FakePCIID.kext. Any help at the earliest is highly appreciatable.
I have been able to boot it using OpenCore but I wanted Clover as it helps me with my development process.

Share this post

  • 2 weeks later...

Quirks for Gigabyte Z490 Vision G. Should work with other Z490 Boards as well like the Vision D. Boards from other vendors may need "EnableWriteUnprotector" and/or "SetupVirtualMap". You still need SSDTs from OpenCore (like AWAC, SSDT-PLUG, SSTD-EC-USBX etc.).

 

1757102024_Z490VisionGQuirks.png.afa53ee42849062c58ad14b23b731672.png

 

Kernel & Kext Patches:

  • KernelPM (not necessary if you disable CFG Lock in BIOS)
  • Panic No Kext Dump
Share this post

  • Allan featured this topic
×