Jump to content
InsanelyMac Forum
ErmaC

Clover General discussion

Recommended Posts

Slice is glad to present a new EFI bootloader.
CLOVER
Now version 2 rEFIt based.


It is open source based on different projects: Chameleon, rEFIt, XNU, VirtualBox. The main is EDK2 latest revision.
I also want to thank all who help Slice with the development. Credits and copyrights remain in the sources.
http://cloverefiboot.sourceforge.net/

Main features:

 

  • Boot into 10.4 - 10.8 OSX, Windows EFI and Linux EFI
  • Boot into LegacyOS (WindowsXP, Linux, DOS) by their bootsectors
  • This is EFI bootloader so it provides RuntimeServices for OS that impossible for Legacy Bootloaders
  • Mostly Clover do automatic detection of hardware and set all properties by default. But user can change them by config.plist
  • with Clover you may restart into other OS from Startup Disk prefPane
  • Config autodetect by OEM product name
  • UUID written into config.plist will be the same as in OS
  • Autopatch OemDSDT for working OSX
  • SMBIOS will be corrected to standard 2.6
  • ACPI will be corrected to standard 4.0. Custom DSDT will be loaded from booted partition or from EFI folder
  • MADT table may be corrected to resolve problem with NMI on some hardware
  • ACPI tables loading (SSDT-xx, APIC, BOOT, SLIC, SLIT, SRAT, UEFI...)
  • Correctly set PowerProfile for laptops (notebooks), desktops, workstations
  • Customizable RestartFix
  • sleep/wake fixes
  • PCIRootUID value (0,1) for device-injection for those who can't edit DSDT
  • Graphics Properties Injector for ATI, NVidia and Intel for wide range of supported cards. Also customizable.
  • Custom EDID for non-DDC monitors
  • USB fix (LegacyOff, Ownership, Builtin, clock-id) up to USB 3.0
  • HDA injector, HDMI fix.
  • Ethernet builtin injector
  • CPU turbo
  • P- and C-states generator
  • PLimitDict and UnderVoltage for CPU Speedstep
  • patch kernel on the fly for unsupported CPU like Atom and Ivy Bridge
  • patch kexts inside kernelcache for unsupported hardware
  • Extra kexts loading
  • Security mode for FireWire
  • Default boot after timeout
  • Customizable GUI: themes support, own icons, fonts.
  • There is a possibility to implement national languages and fonts. F1 - multilingual help
  • Saving boot.log in OS and preboot.log from GUI by typing F2
  • Save original (OEM) ACPI tables by pressing F4
  • Test DSDT patching with F5
  • Save videoBIOS into EFI/misc by pressing F6
  • Saving screenshots from GUI typing F10
  • CD/DVD eject by F12 and refresh menu after CD insertion

 



If you have a question please provide outputs from DarwinDumper (formed from Trauma tool). Thanks Trauma!
Continued by blackosx and STLVNUB.

-----------------

Edited by Slice
new update / references added

Share this post


Link to post
Share on other sites
Advertisement

To begin with, congratulations to all of you, this project is fantastic!!!!!

 

Last night I tried the installer on my Lappy, but I can only see at boot "GPT, boot0, boot0, DONE", or something like that.

 

For those who have already installed the bootloader (Chameleon) there are specific warnings?

 

My partions on GPT disk:

 

Efi

osx 10.8.1

osx 10.8.0

 

 

Another curiosity, we can change now the APIC.aml table, for override the original, to surpass the Local Apic error for Insyde BIOSes? Is possible with this bootloader?

 

 

As soon as I can, experiment on USB key, and report results!

Share this post


Link to post
Share on other sites

Excellent job on the setting up this topic Fabio & Slice.

 

Clover has grown and expanded incredibly this year and it now supports a wealth of options, many of which I don't use either because my hardware doesn't require them, or my setup already had the required patches applied. Because of that, and also the pace of development, I've missed out on the learning, experimenting and understanding of some of Clovers options and with the previous available documentation being either the Russian PDF at AppleLife, or one of the hundreds of posts at projectosx your opening posts here make a welcome resource.

 

Keep up the great work :)

Share this post


Link to post
Share on other sites

Hi people, and thank you for your efforts !

I followed this tutorial :

How to install InstallESD.dmg to GPT. since r480.

 

First, you need to Restore InstallESD.dmg to disk by using Disk Utility.

Then, follow the stage 1 and stage 2 to install 10.7.x or 10.8.x to GPT, and auto-create the Recovery HD used for iCloud.

 

Stage 1

 

1.Remove kernelcache in InstallESD.dmg/Library/Preferences/SystemConfiguration/com.apple.Boot.plist.

<key>Kernel Cache</key> remove this line.

<string>xxxxxxxxxxxxx</string> remove this line.

2.Copy BaseSystem.dmg/System/Library/Extensions to partition of InstallESD.dmg and add other kexts (FakeSMC.kext).

3.Clover select to "Boot Mac OS X with extra kexts (skips cache)", and follow the installation with restart first time.

 

Stage 2

 

1.Remove kernelcache in target partition's /OS X Install Data/com.apple.Boot.plist.

<key>Kernel Cache</key> remove this line.

<string>xxxxxxxxxxxxx</string> remove this line.

( 10.7.x is /Mac OS X Install Data/com.apple.Boot.plist )

2.Copy InstallESD.dmg/System/Library/CoreServices and /mach_kernel to target partition's / .

3.Copy BaseSystem.dmg/System/Library/Extensions to target partition's / and add other kexts (FakeSMC.kext).

4.Boot to "OS X Install" with "Boot Mac OS X with extra kexts (skips cache)" and finish the installation.

(10.7.x is "Mac OS X Install")

 

I completed stage 1 (the installation), after restart i can't seem to detect my HFS+ drive on clover unless i change AHCI to IDE in my bios sata configuration. Once it is detected, it is stuck at [PCI Configuration Begin].

Tried FixDsdtMask = 0x0000 = Fail

npci=0x3000 PCIRootUID=0 GraphicsEnabler=Yes = fail

I did not change the smbios or anything else except doing a clean installation and following the above steps. So for stage 2, do i perform all these steps from the shell or any other way (like from windows partition for instance)?

I have an Asus G53JW-A1 with nvidia 460m GTX 1.5 Gb memory, and its working pretty well with Chameleon, but was just hoping to get something more Vanilla with your masterpiece and achieve better ACPI integration (Battery, Brightness control,...).

Please let me know .

Share this post


Link to post
Share on other sites

@slayer2333 see at post #9, under AHCI timeout by bcc9,

 

kext editing (or use an injector), not dsdt fix

 

 

EDIT

 

or something like this?

 

<key>0</key>
  <dict>
    <key>Name</key>
    <string>IOAHCIBlockStorage</string>
    <key>Find</key>
    <string>example in bcc9 script</string>
    <key>Replace</key>
    <string>example in bcc9 script</string>
  </dict>

 

???? :|

Share this post


Link to post
Share on other sites

Hi Slice.

I have absolutely no experience with ATI card (I don't have one).

 

One question related to Ati injector...

I see in the source only the "generic" Device ID like this:

{ 0x688D, 0x00000000, CHIP_FAMILY_CYPRESS,"AMD FireStream 9350",kZonalis},

 

Any reason for not add the specific SubId?

I have a lot of it... if you wont also add it...

 

Fabio

Share this post


Link to post
Share on other sites

I tried the last versione of Clover and i found this problem.

 

Boot Clover .

Press "O" .

Enable "Turbo" .

 

When i want to exit from menu and try to boot Clover Freeze. I'm alone?

Share this post


Link to post
Share on other sites

Hi Fabio,

It works without any knowledge about specific SubsystemID.

Dunno about NVidia but sure about ATI algorithm. It works also for Mobile Radeons.

 

I tried the last versione of Clover and i found this problem.

 

 

 

When i want to exit from menu and try to boot Clover Freeze. I'm alone?

I think the "Turbo" is a dangerous characteristic but I can't make a proof if it is allowed.

Share this post


Link to post
Share on other sites

hello

 

@slice

 

the customedid key for me don't work, clover loads the key, but result in nothing if don't apply the fix in file

 

/System/Library/Displays/Overrides/DisplayVendorID-756e6b6e/DisplayProductID-717

 

i don't have graphics at all, only black screen.

 

good hack

Share this post


Link to post
Share on other sites

hello

 

@slice

 

the customedid key for me don't work, clover loads the key, but result in nothing if don't apply the fix in file

 

/System/Library/Displays/Overrides/DisplayVendorID-756e6b6e/DisplayProductID-717

 

i don't have graphics at all, only black screen.

 

good hack

This is something that I don't know.

Share this post


Link to post
Share on other sites

Slice, I've set SMBios to Mac Pro 5,1, but after booting from Clover, it is always become iMac12,1.

What can I do if I want to force it to identify the system as MacPro5,1?

 

This is the config.plist which I'm using now.

 

.
.
<key>SMBIOS </key>
<dict>
<key>BiosReleaseDate</key>
<string>03/21/12</string>
<key>BiosVendor</key>
.
.

 

-Problem Solved-

Share this post


Link to post
Share on other sites

See if removing that space after SMBIOS helps.

 

<key>SMBIOS </key>

Thank you very much. Problem solved... :)

 

It's hard to notice the space in Xcode....

Share this post


Link to post
Share on other sites

Can anyone give me an example about how to hide partition in Clover?

I don't understand what the introduction means.

 

What should I key for "VolumeString" and "String or it's part from boot.log?"

 

Is VolumeString the name of partition or something like disk2s1 or the UUID of the partition?

Share this post


Link to post
Share on other sites

hello

 

@slice

 

the customedid key for me don't work, clover loads the key, but result in nothing if don't apply the fix in file

 

/System/Library/Displays/Overrides/DisplayVendorID-756e6b6e/DisplayProductID-717

 

i don't have graphics at all, only black screen.

 

good hack

if you have a Laptop must work, but I doubt if you are using an external monitor, their EDID are published by their EEPROM, so, attention if your Display product/vendor ID already exists in your Overrides folder.

ProductID-717 indicate a generic files generated by Osx visible in ioreg (not a real product ID), and video acceleration is really required for override the EDID, your display must be attached to the framebuffer, without, injection does not work!

 

 

search mmod, for real Product/Vendor ID

myedid.png

 

Micky

Share this post


Link to post
Share on other sites

Hi all, this is a very great job , but i dont unterstound , i have two answer , wich is config.plist of edited?

http://www.mediafire...4jiib4fupsd4n3d

 

The first or second in OEM folder

 

and why is slow between the boot done to get to the screen shots of the theme?

the first from the left work!

 

/EFI/config.plist

Share this post


Link to post
Share on other sites

Can anyone give me an example about how to hide partition in Clover?

I use the volume GUID. So for example, here's mine:

<key>Volumes</key>
<dict>
<key>HideAllLegacy</key>
<string>Yes</string>
<key>HideVolumes</key>
<dict>
<key>0</key>
<dict>
<key>VolumeString</key>
<string>F55D9AC4-08A8-4269-9A8E-396DBE7C7943</string>
</dict>
<key>1</key>
<dict>
<key>VolumeString</key>
<string>43EB9A16-6572-4B7F-A537-6303895DAE0A</string>
</dict>
</dict>
</dict>

You can get the GUID of each volume by checking your Clover bootlog.

Or easier still, run DarwinDumper and select the Disk Volume UUID & GUID option.

Share this post


Link to post
Share on other sites

if you have a Laptop must work, but I doubt if you are using an external monitor, their EDID are published by their EEPROM, so, attention if your Display product/vendor ID already exists in your Overrides folder.

ProductID-717 indicate a generic files generated by Osx visible in ioreg (not a real product ID), and video acceleration is really required for override the EDID, your display must be attached to the framebuffer, without, injection does not work!

 

 

hello

 

i use the lcd note

 

and the customedid is loaded by the key and string, is show in boot.log

 

but no works

 

only work with the edid in file

 

Captura de ecrã 2012-09-23, Ã s 22.02.28.png

 

good hack

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Similar Content

    • By frankiee
      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.
       
      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!
       
      Anybody who knows, maybe post it here?
    • By TimNeumann
      MB: Asus X99 A-II
      RAM: G.Skill Ripjaws V F4-3200C16D-32GVK (3200MHz, 4x 16GB DIMMs, so Total 64GB) in quad-channel configuration.
      CPU: i7 6800k @4.0Ghz
      GPUs: GTX 1080 Ti and GTX 1060 3GB
      (each one a monitor, because I can't get DVI to run parallel with DP on the 1080Ti, and my second monitor only has DVI/VGA)
      OS: High Sierra 10.13.2 (17C88) / Clover revision: 4392
       
      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!
       
      Here is an excerpt from a faulty test.
      It is noticeable that it is always the same address during the test, but a different one after each test.
      Memtest version 4.22 (64-bit) Copyright (C) 2004 Charles Cazabon Copyright (C) 2004-2008 Tony Scaminaci (Macintosh port) Licensed under the GNU General Public License version 2 only Mac OS X 10.13.2 (17C88) running in multiuser mode Memory Page Size: 4096 System has 12 Intel core(s) with SSE Requested memory: 57232MB (60012990464 bytes) Available memory: 57232MB (60012990464 bytes) Allocated memory: 57232MB (60012990464 bytes) at local address 0x00000001033e1000 Attempting memory lock... locked successfully Partitioning memory into 2 comparison buffers... Buffer A: 28616MB (30006495232 bytes) starts at local address 0x00000001033e1000 Buffer B: 28616MB (30006495232 bytes) starts at local address 0x00000007ffc4d800 Running 1 test sequence... (CTRL-C to quit) Test sequence 1 of 1: Running tests on full 57232MB region... Stuck Address : ok Linear PRN : testing 7 of 16 FAILURE! Data mismatch at local address 0x0000000e88133d30 Expected Data: 0xc4c340079ac9a645, Actual Data: 0xc4c3400788468846 Running comparison tests using 28616MB buffers... Random Value : ok Compare XOR : ok Compare SUB : ok Compare MUL : ok Compare DIV : ok Compare OR : ok Compare AND : ok Sequential Increment: ok Solid Bits : ok Block Sequential : testing 80 of 256 FAILURE! Data mismatch at local BUFA address 0x000000078b8c7530, BUFB address 0x0000000e88133d30 BUFA Data: 0x4f4f4f4f4f4f4f4f, BUFB Data: 0x4f4f4f4f88468846 Checkerboard : testing 3 of 64 FAILURE! Data mismatch at local BUFA address 0x000000078b8c7530, BUFB address 0x0000000e88133d30 BUFA Data: 0x5555555555555555, BUFB Data: 0x5555555588468846 Bit Spread : testing 1 of 128 FAILURE! Data mismatch at local BUFA address 0x000000078b8c7530, BUFB address 0x0000000e88133d30 BUFA Data: 0x0000000000000005, BUFB Data: 0x0000000088468846 Bit Flip : testing 74 of 512 FAILURE! Data mismatch at local BUFA address 0x000000078b8c7530, BUFB address 0x0000000e88133d30 BUFA Data: 0x0000000000000200, BUFB Data: 0x0000000088468846 Walking Ones : testing 40 of 128 Clover Files attached
      config.plist
      drivers64UEFI.zip
      kexts.zip
      ACPI.zip
    • By BurpSuite
      screenshot:
       

       
      description:
      github: https://github.com/burpsuite/clover_theme
×