Recently Browsing
0 members

Announcements

Similar Content

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.

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.

Prerequisites:
Working clover installation
Clover Configurator or some app to edit the config.plist
1) Memtest

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

2) gdisk

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:

3) RU

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!

Hello everybody,
I occasionally have system crashes and suspect that it is related to RAM. However, this RAM is completely new, and a run with MemTest86+ from the USB stick showed no errors. However, if I use Memtest on MacOS, I get a bunch of error messages, but sometimes none (I restart the computer between tests).
As I just discovered, my RAM is not on the recommended vendor list of my motherboard, nor is it on the manufacturer side of the RAM. I have read several times that the RAM may not have been tested by the manufacturer on this platform. Not a single X99 motherboard is listed for this RAM.
So I also suspect that my RAM is not compatible.
But if that were the case, how could it sometimes work completely error-free?

During RAM tests in summer 2017 (a slightly different setup, 4x8GB but still G.Skill Ripjaws V) I had no errors at Memtest under MacOS, if I remember correctly. At that time it ran under Sierra 10.12.6. AptioMemoryFix.efi could also cause problems.
I am appreciative for any help!