Jump to content

Clover v.2 Instructions

Bootloader EFI Clover

  • Please log in to reply
43 replies to this topic

#41
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,976 posts
  • Gender:Male
  • Location:Moscow

Property List Editor

 

It is helpful for config.plist editing.

This is utility from old Xcode, looks and works better then new version.

Unpack the archive, copy these frameworks into /Library/Frameworks/

The application may be placed in your convenient folder.

Attached File  PListEditor.zip   6.12MB   174 downloads

Attached File  Screen Shot 2014-04-28 at 7.58.06.png   97.43KB   28 downloads



#42
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,976 posts
  • Gender:Male
  • Location:Moscow

Blocking Bad Kext

 
I encounter a bad situation when I installed a kext (it is GeforceSensor) that caused KP. I install it into SLE without checking if it works.
Then I can't boot even with -x, -v, -s. It always loaded and panics.
So I created a revision of Clover that is able to block one kext in /S/L/E.
Test with NVClockX.kext. It is not vital for system so I can experiment with it.

Attached File  BlockKext.png   575.29KB   44 downloads

Ordinary boot

zone leak detection enabled
standard timeslicing quantum is 10000 us
mig_table_max_displ = 73
NVClockX: NVClock Darwin port by alphamerik (C) 2010
NVClockX: usr-sse2 (C) 2010
AppleACPICPU: ProcessorId=0 LocalApicId=0 Enabled
AppleACPICPU: ProcessorId=1 LocalApicId=1 Enabled

With BlockKext

zone leak detection enabled
standard timeslicing quantum is 10000 us
mig_table_max_displ = 73
HWInfo: [Debug] Initialising...
HWInfo: HWInfo get information from Clover bootloader, (c)Slice 2013
IntelCPUMonitor: Based on code by mercurysquad, superhai (C)2008. Turbostates measurement added by Navi
User defined TjMax=0
AppleACPICPU: ProcessorId=0 LocalApicId=0 Enabled
AppleACPICPU: ProcessorId=1 LocalApicId=1 Enabled

So yes, the kext is not loaded by boot.efi. Don't forget to boot without cache!

But then surprise!!!
 

slice$ sudo kextstat | grep -v apple
Password:
Index Refs Address    Size       Wired      Name (Version) <Linked Against>
   18    4 0x566db000 0xa000     0x9000     org.netkas.FakeSMC (3.3.1) <13 7 5 4 3>
   19    0 0x56236000 0x4000     0x3000     org.slice.HWInfo (1) <18 7 4 3>
   20    0 0x566e5000 0x6000     0x5000     org.slice.IntelCPUMonitor (1.1) <18 7 5 4 3>
   23    0 0x56763000 0x7000     0x6000     org.mozodojo.ITEIT87x (1.0.3) <18 7 5 4 3>
   36    0 0x56746000 0x5000     0x4000     com.yourcompany.driver.AppleACPIPS2Nub (1.0.0d1) <13 7 5 4 3 1>
   38    0 0x564b4000 0x3000     0x2000     net.osrom.kext.Disabler (1.0.1) <4 3>
   79    0 0x5d46b000 0x14000    0x13000    org.usrsse2.NVClockX (1.0.1d1) <18 14 7 5 4 3>
   85    0 0x564b7000 0x23000    0x22000    org.voodoo.driver.VoodooHDA (2.8.4) <84 14 7 5 4 3>
Sergeys-iMac:Clover slice$

It is loaded! Why? I think it is loaded by kernel that is not affected by FSInject.efi
But it is loaded much later and give me an ability to boot with -s before the KP will occur.
Yes, this is workaround in the case above.

 

Since rev.2665



#43
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,976 posts
  • Gender:Male
  • Location:Moscow

AAPL,slot-name

 

This is a property that usually injected by DSDT or property strings but this is a wrong way to go.

Actually this property appeared by AppleSMBIOS.kext (see sources if you want).

So in revision 2673 I made more vanilla way to assign this property.

1. DSDT must contain Name (_SUN, 0x05). Or other number. The number must be one byte and avoid 0 and 1 because of stupid optimization. Sample:

                Device (GIGE)
                {
                    Name (_ADR, 0x00050000)  // _ADR: Address
                    Name (_SUN, 0x02)  // _SUN: Slot User Number

You may write nothing but set DSDT Fix Mask bits for those devices

Attached File  Screen Shot 2014-05-20 at 10.25.26.png   109.95KB   35 downloads

2. SMBIOS must contains tables type 9 for each named device. To do this write into config.plist like here

Attached File  Screen Shot 2014-05-20 at 10.23.37.png   73.92KB   31 downloads

Here 

- Slots->Device is a one of devices {ATI, NVidia, LAN, WIFI, Firewire}. That's all for now. I can accept more propositions.

- Slots->ID must be the same number as you set into DSDT in _SUN.

- Slots->Name will be a string that you want to assign to AAPL,slot-name

- Slot->Type is intended to be a type of slot. There is a number 0,1,2,4,8,16 means PCI, PCIe 1x, PCIe 2x etc.

3. Clover must be revision 2673+

 

See the result

Attached File  Screen Shot 2014-05-20 at 10.32.56.png   94.82KB   30 downloads

 



#44
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,976 posts
  • Gender:Male
  • Location:Moscow

Fake CPUID

 

What to do if your OSX is not supported your CPU?

See table what CPUs supported by different OS versions

CPU name	CPUID	10.4.11	10.5.8	10.6.3	10.6.8	10.7.2	10.7.5	10.8.5	10.9.2
Yonah	      0x0006E6	1	1	1	1	1	1	0	0
Conroe	      0x0006F2	1	1	1	1	1	1	1	1
Penryn	      0x010676	0	1	1	1	1	1	1	1
Nehalem	      0x0106A2	0	1	1	1	1	1	1	1
Atom	      0x0106C2	0	0	0	0	0	0	0	0
XeonMP	      0x0106D0	0	0	0	1	0	0	0	0
Linnfield     0x0106E0	0	0	1	1	1	1	1	1
Havendale     0x0106F0	0	0	1	1	1	1	1	1
Clarkdale     0x020650	0	0	0	1	1	1	1	1
AtomSandy     0x020660	0	0	0	0	0	0	0	0
Lincroft      0x020670	0	0	0	0	0	0	0	0
SandyBridge   0x0206A0	0	0	0	1	1	1	1	1
Westmere      0x0206C0	0	0	0	1	1	1	1	1
Jaketown      0x0206D0	0	0	0	1	1	1	1	1
NehalemEx     0x0206E0	0	0	1	1	1	1	1	1
WestmereEx    0x0206F0	0	0	0	1	1	1	1	1
Atom2000      0x030660	0	0	0	0	0	0	0	0
IvyBridge     0x0306A0	0	0	0	0	0	1	1	1
Haswell	      0x0306C0	0	0	0	0	0	0	1	1
IvyBridgeE5   0x0306E0	0	0	0	0	0	0	0	1
HaswellMB     0x0306F0	0	0	0	0	0	0	1	1
HaswellULT    0x040650	0	0	0	0	0	0	1	1
CrystalWell   0x040660	0	0	0	0	0	0	1	1

If you want to install OSX on Atom CPU then you may see it is not supported.

As well IvyBridge is not supported by 10.7.2 while it will be supported by 10.7.5 after SoftwareUpdate.

 

For these cases Clover-rev2748+ proposes you to set FakeCPUID in config.plist or even in GUI -> Binaries patching menu

	<key>KernelAndKextPatches</key>
	<dict>
		<key>FakeCPUID</key>
		<string>0x010676</string>

In this example we tell that the CPU is Penryn supported by all OS versions 10.5+

 

To illustrate I set for my CPU FakeID=0x0106C2 that is unsupported Atom and as expected I got KP while IntelCPUMonitor sees real CPU - Penryn :)

Attached File  03072014202.jpg   170.67KB   21 downloads

 

And vice versa. If you set good model for bad CPU you may successfully start system.

 

Download a version Attached File  CLOVERX64.efi-rev2749.zip   249.45KB   28 downloads







Also tagged with one or more of these keywords: Bootloader, EFI, Clover


5 user(s) are reading this topic

1 members, 4 guests, 0 anonymous users


© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy