Jump to content
30,187 posts in this topic

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/ - initial source

https://github.com/CloverHackyColor/CloverBootloader - new sources

Main features:

 

 

  • Boot into 10.4 - 12.xx 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 Oem DSDT 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 
  • 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.

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

  • Like 17
  • Thanks 1
Link to comment
https://www.insanelymac.com/forum/topic/284656-clover-general-discussion/
Share on other sites

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!

  • Like 2

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 :)

  • Like 2

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 .

  • Like 1

@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>

 

???? :|

  • Like 1

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

  • Like 1

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.

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

  • Like 1

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.

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?

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-

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?

  • Like 1

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

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

  • Like 1

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.

  • Like 1

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

oh sorry, you said:

"i don't have graphics at all" and I thought this appen with Clover (no QE/CI

at all), .......perhaps I misunderstood.

 

only 2 thing, the string in the config.plist is property converted to BASE64, and maybe you have to remove your custom override file in S/L/D/O, using the Clover injection?

 

bye

×
×
  • Create New...