Contribute
Register

Clover Booting Guide: Z77X-UD5H- HD4000+GT640

Status
Not open for further replies.
Joined
Aug 21, 2011
Messages
402
Motherboard
GA-Z97N-WIFI
CPU
i7-4790K
Graphics
HD4600
Mac
  1. iMac
Classic Mac
  1. 0
Mobile Phone
  1. iOS
Guide for using Clover UEFI Booting on Z77X-UD5H with HD4000 and GT640 enabled

Clover UEFI booting is BETA testing.... In saying this, there are a lot of changes all the time. This guide may not work for you.

Changes in revisions are listed here: http://www.projectosx.com/forum/index.php?showtopic=2656&st=0

Relevant Notes:

-Changes to the config.plist-> added 2 new sections GUI and Themes

-Booting with CSM Disabled -> My Gigabyte GT640 has a UEFI VBIOS version F12. I have also added a patched BIOS F15r (tweaktown) to have GFX UEFI. This allows you to boot in full UEFI without the CSM support needing to be enabled.

-I still have problems with the Clover GUI resolution. I have manually tried setting the screen resolution(as described below) at boot with no results. CSM driver is no longer working and causing a blank/black screen. PatchVBios also has the same results. The CSM management has changed in newer revisions and I will have to try to get a working Clover GUI again with my screen resolution (I can boot, but without the proper resolution). CSM driver used to correct the resolution problem.

-This guide works for Clover r1665+.

BIOS boot settings need to include UEFI BIOS booting first. Example:
UEFI: USB USB will be the selection you want when booting off of your UEFI USB stick.
Hard drive booting will need UEFI:HDDname first, before P0:HDDname.

Making a Bootable Installer Guide: http://www.osx86.net/guides-tutorials/19291-guide-clover-efi-bootloader-70.html#post131499

You need to have Xcode Command Line Tools installed. This can be downloaded from the Apple Developer webpage using a free dev. account.

Download the Zip file from Github. https://github.com/STLVNUB/CloverGrower

Move the file to desired location before running as this will create lines for the file directory and the file can not be moved later on.

Unzip whichever package you downloaded and run CloverGrower.command, you only need to do this ONCE.
CloverGrower will download all sources, GCC, edk2 and Clover.
First build will take some time as it needs to compile GCC, then it builds edk2 BaseTools and then compiles Clover.

"Common Sense" commands needed to finish the whole process.

On subsequent uses you only need to open terminal and type "clover"
CloverGrower will update any source files from edk2 or Clover and build you a package.

The package file will be created in your CloverGrower file under BuiltPKG. There will be a file revision name and updated files will created here as well.

UEFI USB Stick: (Testing First Recommend)

Run the package file. Click Continue twice. Click Customize.

Clover EFI:

1. UEFI Boot (UEFI motherboards)
2. SATA 64bit
3. UEFIdrivers- HFSPlus-64.efi, OsxAptioFixDrv-64.efi, OsxFatBinaryDrv-64.efi, EmuVariableUefi-64.efi (needed for OSX installation)

Navigate to /EFI/Drivers64UEFI:

HFSPlus-64.efi, OsxAptioFixDrv-64.efi, OsxFatBinaryDrv-64.efi
I am only using these 3 Drivers in EFI/drivers64UEFI. The rest can be moved/renamed/ or deleted. HFSPlus-64.efi is posted in FS Drivers file in the attachments to this post.

EmuVariableUefi-64.efi, This driver its used for installing OSX using Clover UEFI and does not need to be removed after instalation since it use only 0.05 sec to load. But can be removed.

config.plist
Create the config.plist to run as you would in Chameleon/Chimera sort of.

A few Extra things are needed to run Mountain Lion. boot-args - slide=0 is necessary. HDAInjection is turned off if you still use MultiBeast for the 898.kext and Injector, also with custom DSDT-898 Audio Injection (HDMI enabled). StringInjection is used with DeviceProperties to enable HD4000 as I would before. GraphicsEnabler=No is also added. PatchVBios=No is also used with this combination.

Place the SSDT.aml into /EFI/ACPI/patched.

Place your DSDT.aml into the same folder as SSDT.aml. I would recommend creating a DSDT.aml for use with Clover. You will need to extract and compile a DSDT.aml file and fix any errors present. I would also suggest running Toleda's patching for cleaning up your DSDT after creating your DSDT.aml file. Toleda's patching for HDMI/HD4000 will inject the HD4000 for you. You may remove the string injection for HD4000 from the config.plist.

Under ACPI you need to place this string:
<key>DsdtName</key>
<string>DSDT.aml</string>

New Example config.plist without DSDT.aml and with SSDT.aml- HD4000 and GT640 enabled- OSX is the name of the root drive

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SystemParameters</key>
	<dict>
		<key>boot-args</key>
		<string>slide=0</string>
		<key>prev-lang:kbd</key>
		<string>en:0</string>
		<key>InjectSystemID</key>
		<string>Yes</string>
	</dict>
	<key>GUI</key>
	<dict>
		<key>DebugLog</key>
		<false/>
		<key>DefaultBootVolume</key>
		<string>OSX</string>
		<key>HideEntries</key>
		<dict>
			<key>InternalUEFI</key>
			<true/>
		</dict>
		<key>Mouse</key>
		<dict>
			<key>DoubleClick</key>
			<string>500</string>
			<key>Enabled</key>
			<true/>
			<key>Mirror</key>
			<false/>
			<key>Speed</key>
			<string>2</string>
		</dict>
		<key>Theme</key>
		<string>bootcamp</string>
		<key>Timeout</key>
		<string>15</string>
		<key>Volumes</key>
		<dict>
			<key>Legacy</key>
			<string>No</string>
		</dict>
	</dict>
	<key>Graphics</key>
	<dict>
		<key>GraphicsInjector</key>
		<string>No</string>
		<key>PatchVBios</key>
		<string>No</string>
		<key>LoadVBios</key>
		<string>No</string>
	</dict>
	<key>ACPI</key>
	<dict>
		<key>DropOemSSDT</key>
		<string>No</string>
		<key>GeneratePStates</key>
		<string>No</string>
		<key>GenerateCStates</key>
		<string>No</string>
	</dict>
	<key>CPU</key>
	<dict>
		<key>Turbo</key>
		<string>Yes</string>
	</dict>
	<key>PCI</key>
	<dict>
		<key>HDAInjection</key>
		<string>No</string>
		<key>InjectClockID</key>
		<string>No</string>
		<key>USBFixOwnership</key>
		<string>No</string>
		<key>USBInjection</key>
		<string>No</string>
		<key>StringInjector</key>
		<string>Yes</string>
		<key>DeviceProperties</key>
		<string>7f0000000100000001000000730000000200000002 010c00d041030a000000000101060000027fff04002c000000 4100410050004c002c00690067002d0070006c006100740066 006f0072006d002d0069006400000008000000010066011400 00006800640061002d0067006600780000000d0000006f6e62 6f6172642d31</string>
	</dict>
	<key>RtVariables</key>
	<dict>
		<key>LogEveryBoot</key>
		<string>Yes</string>
		<key>LogLineCount</key>
		<string>3000</string>
		<key>MLB</key>
		<string>C02L76OLDWYN65832</string>
		<key>MountEFI</key>
		<string>OSX</string>
	</dict>
	<key>KernelAndKextPatches</key>
	<dict>
		<key>AppleRTC</key>
		<string>No</string>
		<key>AsusAICPUPM</key>
		<string>No</string>
		<key>KernelCpu</key>
		<string>No</string>
	</dict>
	<key>SMBIOS</key>
	<dict>
		<key>ProductName</key>
		<string>Macmini6,2</string>
	</dict>
</dict>
</plist>

Adding Speed-Stepping for Macmini6,2 (Clover)
Rename the SSDT file to SSDT.aml and place into EFI/ACPI/patched folder. Do not drop OEM Speed-Step (this topic is debated and works for some and not others). Drop GenerateCStates and GeneratePStates.

Moving EFI folder to SSD/HDD
After testing UEFI USB drive I moved the EFI folder (from working USB or Clover modified file) to the hidden EFI partition using these steps:
0) Open Terminal
1) Type the following commands
2) mkdir /Volumes/efi
3) sudo mount -t msdos /dev/disk0s1 /Volumes/efi (where disk0 = your OSX root drive)
4) Now you should see your EFI partition mapped to your Desktop
5) Copy EFI folder to the EFI partition
6) Reboot
7) Go into your BIOS (delete)
8) Change the Default Boot Device to UEFI:(Your macintosh HDD)
 

Attachments

  • FS drivers.zip
    71.1 KB · Views: 1,882
Hi.
I like to share my config thats not a beta :D but it need of UEFI GOP compatible discrete vga bios.

Its for same board Z77X-UD5H

Drivers for UEFI.
EDIT:
description from DMAZAR
"So, drivers for UEFI boot are (/efi/drivers64UEFI):
- FSInject-64.efi - for blocking kernelcache and drivers injection via file system (optional, but recommended to have it)
- OsxFatBinaryDrv-64.efi - for reading and starting multi-arch boot.efi
- HFSPlusX64.efi or VboxHfs.efi - HFS+ file system driver
- EmuVariableUefi-x64.efi - needed only for OSX installation in UEFI mode (see below), can be removed after OSX is installed"

C2KE3Zd.png

Bios settings
Disable CSM!!

Make DSDT using mac iasl using these patches:
AMI-EFI/Clean compile from toleda repo
Toleda HDMI patches soo no need for StringInjection for HD 4000
USB Multiplex from PJALM (fix all usb problems on this board)
GBE from PJALM repo (just cosmetic it will add right name for ethernet and add devices to pci list)

No SSDT needed since IvyBridge generator works nice on this board.

For imessage

Use this config,but generate yourself a diferent serial.
Same goes for
<key>MLB</key>
use your serial here + 5 random characters.

This config contains TRIM enabler patch!soo no need for trim patching using other metods.

Code:
[CODE]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>ACPI</key>
    <dict>
        <key>DropMCFG</key>
        <string>Yes</string>
        <key>DropOemSSDT</key>
        <string>Yes</string>
        <key>GenerateCStates</key>
        <string>Yes</string>
        <key>GenerateIvyStates</key>
        <string>Yes</string>
        <key>GeneratePStates</key>
        <string>Yes</string>
    </dict>
    <key>CPU</key>
    <dict>
        <key>Turbo</key>
        <string>Yes</string>
    </dict>
    <key>Graphics</key>
    <dict>
        <key>GraphicsInjector</key>
        <string>No</string>
        <key>LoadVBios</key>
        <string>No</string>
        <key>PatchVBios</key>
        <string>No</string>
    </dict>
    <key>KernelAndKextPatches</key>
    <dict>
        <key>AppleRTC</key>
        <string>No</string>
        <key>AsusAICPUPM</key>
        <string>No</string>
        <key>KernelCpu</key>
        <string>No</string>
        <key>KextsToPatch</key>
        <dict>
            <key>0</key>
            <dict>
                <key>Find</key>
                <data>
                cgoATWFjUHJvNCwxAE1hY1BybzUsMQBY
                </data>
                <key>Name</key>
                <string>AppleTyMCEDriver</string>
                <key>Replace</key>
                <data>
                cgoAAAAAAAAAAAAAAAAAAAAAAAAAAABY
                </data>
            </dict>
            <key>1</key>
            <dict>
                <key>Find</key>
                <data>
                QVBQTEUgU1NEAA==
                </data>
                <key>Name</key>
                <string>IOAHCIBlockStorage</string>
                <key>Replace</key>
                <data>
                AAAAAAAAAAAAAA==
                </data>
            </dict>
        </dict>
    </dict>
    <key>PCI</key>
    <dict>
        <key>HDAInjection</key>
        <string>No</string>
        <key>InjectClockID</key>
        <string>No</string>
        <key>USBFixOwnership</key>
        <string>No</string>
        <key>USBInjection</key>
        <string>No</string>
    </dict>
    <key>RtVariables</key>
    <dict>
        <key>LogEveryBoot</key>
        <string>Yes</string>
        <key>LogLineCount</key>
        <string>3000</string>
        <key>MLB</key>
        <string>C02L76OLDWYN65832</string>
        <key>MountEFI</key>
        <string>OSX</string>
    </dict>
    <key>SMBIOS</key>
    <dict>
        <key>FirmwareFeatures</key>
        <string>0x80001437</string>
        <key>ProductName</key>
        <string>Macmini6,2</string>
        <key>SerialNumber</key>
        <string>C02L76OLDWYN</string>
    </dict>
    <key>SystemParameters</key>
    <dict>
        <key>InjectSystemID</key>
        <string>Yes</string>
        <key>boot-args</key>
        <string>slide=0</string>
        <key>prev-lang:kbd</key>
        <string>en:0</string>
    </dict>
</dict>
</plist>/


My config will give u full resolution in clover gui and there its no need for setting resolution it in refit.conf

With my config OSX will automatiicaly mount efi partition.
If u dont need-want this change or delete this key "<key>MountEFI</key><string>OSX</string>"
string OSX its my OSX volume name.

This does not have anything with clover but its nice to have for UD5H
Modified version of fakesmc that inject marvel controler soo no need for any other kext for it.
https://docs.google.com/file/d/0B4MvlG8SB8x1LXZtZXozRjlRNTQ/edit?usp=sharing

Clover can use OEM folder for your config,kext,dsdt etc...
Attached
https://docs.google.com/file/d/0B4MvlG8SB8x1dkJ6OFdvVDNzRzQ/edit?usp=sharing
This one contains modified dsdt for UD5H for F15R bios version.

Enjoy this new mighty bootloader :D
 
Drivers needed for UEFI.
C2KE3Zd.png


USB Multiplex from PJALM (fix all usb problems on this board)

No SSDT needed since IvyBridge generator works nice on this board.

My config will give u full resolution in clover gui and there its no need for setting resolution it in refit.conf


When trying UEFI boot, try with following combination of drivers in /EFI/Drivers64UEFI folder:
1. HFSPlus.efi, OsxFatBinaryDrv-64.efi
if this does not work, then

2. HFSPlus.efi, OsxFatBinaryDrv-64.efi, OsxLowMemFixDrv-64.efi
and then if this does not work then

3. HFSPlus.efi, OsxFatBinaryDrv-64.efi, OsxAptioFixDrv-64.efi (with slide=0 in boot args in config.plist)
and if even this does not work, then try:

4. HFSPlus.efi, OsxFatBinaryDrv-64.efi, OsxAptioFixDrv-64.efi (with slide=0 in boot args in config.plist), EmuVariableRuntimeDxe.efi

All other drivers may or may not be needed. Drivers listed above are required minimum. The best way to test if the driver is needed or not is to try without it - if the thing still works, then it is not needed. Well, more or less ... since for example normal boot works without FSInject, but that one can be needed sometimes.

The above was posted by dmazar

Generic USB kext that has been released has the same effects as Multiplex from PJALM.

I use a SSDT.aml to drop the frequency at idle down to 12x. Also the watts are dropped with no performance drop.

What is full resolution for you? That is reported in Clovers GUI About section.
 
For people looking for the Messages.app fix, here's the right way to use
the fix based on ElNono_'s findings...

First you should get the information below...

Serial Number to use as MLB...

Your Lan MAC Adress to use as ROM...

After you get the needed info, add the following section to your Clover's config.plist ...

PHP Code:
<key>RtVariables</key>
<dict>
<key>MLB</key>
<string>Replace for MLB</string>
<key>ROM</key>
<data>Replace for ROM</data>
</dict>

MLB you should insert as is or add digits, like this modified example > W051403DDD5DMT31M (Serial Number needs to be 17 digits)

For ROM, you should first convert to Base64 data and this should look like this example > ZuVmMWYx

You can convert to Base64 > Hex to base64 converter

You can also use PlistEdit Pro or XCode > Fat Cat Software/ PlistEdit Pro

After this, reboot and you should have Messages.app working again...
 
For people looking for the Messages.app fix, here's the right way to use
the fix based on ElNono_'s findings...

First you should get the information below...

Serial Number (Processor Tray) to use as MLB...

Your Lan MAC Adress to use as ROM...

After you get the needed info, add the following section to your Clover's config.plist ...

PHP Code:
<key>RtVariables</key>
<dict>
<key>MLB</key>
<string>Replace for MLB</string>
<key>ROM</key>
<data>Replace for ROM</data>
</dict>

MLB you should insert as is, with no changes like this modified example > W051403DDD5DMT31M

For ROM, you should first convert to Base64 data and this should look like this example > ZuVmMWYx

You can convert to Base64 > Hex to base64 converter

You can also use PlistEdit Pro or XCode > Fat Cat Software/ PlistEdit Pro

After this, reboot and you should have Messages.app working again...
This its for some older version of clover.
Now it need just right serial and
<key>MLB</key>
<string>serial+5 random data</string>
 
Have any of you managed to resolve the Clover sleep issue when UEFI booting?
I have it working but only with CMS disabled which requires a UEFI/GOP flashed GFX...
 
Status
Not open for further replies.
Back
Top