Jump to content

Clover General discussion


ErmaC
29,866 posts in this topic

Recommended Posts

By the way, "support" doesn't mean here "provide tech support": it was more like "endorse". :) So why Clover doesn't endorse CloverConfigurator as a third-party accessory?

:) Well..even so. That third party accessory will need a maintainer. And I suppose it's gonna be the current developer(s) since he knows best what's in that code he wrote. And if so, then what would be the difference to the current situation? The brand name? The idea that Clover Configurator is now part of the gang? I'm not sure that counts much, does it? :)) I mean, I suppose they could team up, assuming Slice wants that and assuming whoever maintains that tool is willing to do that as well. But would that bring any real benefit to the table?

Link to comment
Share on other sites

Clover versions before r2719 relied on RC scripts to save NVRAM.plist so again won't work since RC scripts have been deprecated in Yosemite.  You can still use r2721 as long as InjectSystemID is set to true eg sample config.plist based on the one you uploaded:

<?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>SMBIOS</key>
	<dict>
		<key>BoardType</key>
		<integer>10</integer>
		<key>ChassisType</key>
		<integer>13</integer>
		<key>SmUUID</key>
		<string>F6E10CFD-E59C-53D8-A6E7-546650779C56</string>
		<key>BiosReleaseDate</key>
		<string>09/03/2013</string>
		<key>Version</key>
		<string>1.0</string>
		<key>SerialNumber</key>
		<string>C02KV4BHF8JC</string>
		<key>Manufacturer</key>
		<string>Apple Computer, Inc.</string>
		<key>BoardManufacturer</key>
		<string>Apple Computer, Inc.</string>
		<key>BoardSerialNumber</key>
		<string>C02KV4BHF8JC12345</string>
		<key>ChassisAssetTag</key>
		<string>iMac-Aluminum</string>
		<key>BiosVendor</key>
		<string>Apple Computer, Inc.</string>
		<key>ChassisManufacturer</key>
		<string>Apple Computer, Inc.</string>
		<key>BiosVersion</key>
		<string>IM142.88Z.0118.B00.1309031249</string>
		<key>Board-ID</key>
		<string>Mac-27ADBB7B4CEE8E61</string>
		<key>Family</key>
		<string>iMac</string>
		<key>ProductName</key>
		<string>iMac14,2</string>
		<key>Trust</key>
		<false/>
	</dict>
	<key>ACPI</key>
	<dict>
		<key>DSDT</key>
		<dict>
			<key>Debug</key>
			<false/>
			<key>ReuseFFFF</key>
			<false/>
			<key>Name</key>
			<string>DSDT.aml</string>
			<key>Fixes</key>
			<dict>
				<key>AddDTGP_0001</key>
				<true/>
				<key>AddMCHC_0008</key>
				<false/>
				<key>FakeLPC_0020</key>
				<false/>
				<key>FixAirport_4000</key>
				<true/>
				<key>FixDarwin_0002</key>
				<false/>
				<key>FixDisplay_0100</key>
				<true/>
				<key>FixFirewire_0800</key>
				<true/>
				<key>FixHDA_8000</key>
				<true/>
				<key>FixHPET_0010</key>
				<true/>
				<key>FixIDE_0200</key>
				<false/>
				<key>FixIPIC_0040</key>
				<true/>
				<key>FixLAN_2000</key>
				<true/>
				<key>FixSATA_0400</key>
				<false/>
				<key>FixSBUS_0080</key>
				<false/>
				<key>FixShutdown_0004</key>
				<true/>
				<key>FixUSB_1000</key>
				<false/>
				<key>NewWay_80000000</key>
				<true/>
				<key>FixRegions_10000000</key>
				<true/>
				<key>FIX_RTC_20000</key>
				<true/>
				<key>FiX_TMR_40000</key>
				<false/>
				<key>AddIMEI_80000</key>
				<true/>
				<key>FIX_INTELGFX_100000</key>
				<false/>
				<key>FiX_WAK_200000</key>
				<false/>
				<key>DeleteUnused_400000</key>
				<true/>
				<key>FIX_ADP1_800000</key>
				<true/>
				<key>AddPNLF_1000000</key>
				<true/>
				<key>FIX_S3D_2000000</key>
				<true/>
				<key>FIX_ACST_4000000</key>
				<true/>
				<key>AddHDMI_8000000</key>
				<true/>
			</dict>
			<key>DropOEM_DSM</key>
			<false/>
		</dict>
		<key>DropTables</key>
		<array>
			<dict>
				<key>Signature</key>
				<string>DMAR</string>
			</dict>
			<dict>
				<key>Signature</key>
				<string>SSDT</string>
				<key>TableId</key>
				<string>Cpu0Ist</string>
			</dict>
			<dict>
				<key>Signature</key>
				<string>SSDT</string>
				<key>TableId</key>
				<string>CpuPm</string>
			</dict>
		</array>
		<key>HaltEnabler</key>
		<true/>
		<key>SSDT</key>
		<dict>
			<key>DropOem</key>
			<true/>
			<key>Generate</key>
			<dict>
				<key>PStates</key>
				<true/>
				<key>CStates</key>
				<true/>
			</dict>
			<key>EnableC6</key>
			<true/>
		</dict>
	</dict>
	<key>Boot</key>
	<dict>
		<key>DefaultVolume</key>
		<string>MacHDD</string>
		<key>Legacy</key>
		<string>PBR</string>
		<key>Log</key>
		<false/>
		<key>Timeout</key>
		<integer>5</integer>
		<key>XMPDetection</key>
		<string>No</string>
		<key>Secure</key>
		<false/>
	</dict>
	<key>Devices</key>
	<dict>
		<key>Audio</key>
		<dict>
			<key>Inject</key>
			<string>Detect</string>
		</dict>
		<key>FakeID</key>
		<dict>
			<key>ATI</key>
			<string>0x0</string>
			<key>IntelGFX</key>
			<string>0x0</string>
			<key>NVidia</key>
			<string>0x0</string>
			<key>LAN</key>
			<string>0x0</string>
			<key>SATA</key>
			<string>0x0</string>
			<key>WIFI</key>
			<string>0x0</string>
			<key>XHCI</key>
			<string>0x0</string>
			<key>IMEI</key>
			<string>0x0</string>
		</dict>
		<key>UseIntelHDMI</key>
		<false/>
		<key>USB</key>
		<dict>
			<key>Inject</key>
			<true/>
			<key>FixOwnership</key>
			<true/>
			<key>AddClockID</key>
			<true/>
		</dict>
	</dict>
	<key>DisableDrivers</key>
	<array>
		<string>Nothing</string>
	</array>
	<key>GUI</key>
	<dict>
		<key>Language</key>
		<string>en:0</string>
		<key>Theme</key>
		<string>metal</string>
		<key>Mouse</key>
		<dict>
			<key>Speed</key>
			<integer>8</integer>
			<key>Enabled</key>
			<true/>
		</dict>
		<key>Scan</key>
		<dict>
			<key>Entries</key>
			<true/>
			<key>Tool</key>
			<true/>
			<key>Legacy</key>
			<string>First</string>
		</dict>
		<key>Hide</key>
		<array>
			<string>Windows</string>
			<string>BOOTX64.EFI</string>
		</array>
	</dict>
	<key>Graphics</key>
	<dict>
		<key>Inject</key>
		<dict>
			<key>Intel</key>
			<false/>
			<key>ATI</key>
			<false/>
			<key>NVidia</key>
			<false/>
		</dict>
	</dict>
	<key>KernelAndKextPatches</key>
	<dict>
		<key>AppleRTC</key>
		<true/>
		<key>AsusAICPUPM</key>
		<true/>
		<key>KextsToPatch</key>
		<array>
			<dict>
				<key>Name</key>
				<string>AppleAHCIPort</string>
				<key>Find</key>
				<data>
				RXh0ZXJuYWw=
				</data>
				<key>Replace</key>
				<data>
				SW50ZXJuYWw=
				</data>
				<key>Comment</key>
				<string>External icons patch</string>
			</dict>
		</array>
	</dict>
	<key>RtVariables</key>
	<dict>
		<key>LogEveryBoot</key>
		<string>10</string>
		<key>LogLineCount</key>
		<integer>3000</integer>
		<key>MountEFI</key>
		<string>Yes</string>
	</dict>
	<key>SystemParameters</key>
	<dict>
		<key>InjectSystemID</key>
		<true/>
		<key>InjectKexts</key>
		<string>Automatic</string>
	</dict>
</dict>
</plist>

Notes

  • Your GTX 650 should work OOB without Graphics Injection so I have set this to False
  • Since you had Generate P & C States set to Yes, I changed SSDT DropOem to True
  • Generated a random iMac 14,2 SMBIOS with Clover Configurator v3.20 in Mavericks (click the magician's wand in the SMBIOS sectionClover configurator is flaky in Yosemite)
  • I just added 5 digits (12345) to the randomly generated serial number to get the 17 character Board Serial
  • The latest Hackintosh Vietnam Tool 1.7.2 comes with Clover 2731 so I recommend you try that version instead of r2703 and apply @Pokenguyen's workaround if you upgrade to Yosemite DP2. 
sudo defaults write com.apple.loginwindow LogoutHook /private/etc/rc.shutdown.d/80.save_nvram_plist.local

       The HV tool can also create a good basic config.plist based on the CPU & Graphics information you specify :)

I tried your config.plist and just replaced the one on my USB stick. The installation went ok, but when booting up again, after the installation completes and I need to make the latest configurations before arriving to Desktop, it hangs at loading (when the loading bar reaches 50%). It stays like this for a few minutes, after that, it shows an error and reboots automatically. You might also want to know that, I deleted the EFI partition and the RecoveryHD partitions on my HDD prior to Yosemite's installation (I supposed it will create them again). So maybe that's why it doesn't boot anymore. Or there is something in that config.plist that's not ok for booting up. I don't know. I'll try booting up with the default config.plist and see what happens. Also, I'll try to reinstall the OS with the default config and see what happens if I delete those two partitions prior to the installation.

 

I would have gladly used Hackintosh Vietnam Tool (1.7.2) to add Clover to the USB stick. But unfortunately that's not a feature it supports. It can only add it to the boot partition... So it's kinda useless for making a bootable USB stick.

 

I generated SMBIOS information with that tool (I would use any other tool if Clover Configurator is not ok for this). I kinda hoped that it will generate BoardSerialNumber and SmUUID. But it didn't. No matter if I generate the config from Mavericks or Yosemite. Still that info was not added automatically.

 

So, for BoardSerialNumber, I used the SerialNumber and added 5 random characters after it and used it as a BoardSerialNumber. For SmUUID, I generated a UUID and used that one, since I heard it's dependent on the MAC address... I tried that workaround too. But still no luck...

 

So now I've got BoardSerialNumber, I've got smUUID and I still got no iMessage. Visa icredit card s already present so no need to add that.

Link to comment
Share on other sites

By the way, "support" doesn't mean here "provide tech support": it was more like "endorse". :) So why Clover doesn't endorse CloverConfigurator as a third-party accessory?

Because I can't influence what Clover Configurator do.

 

@arsradu

Did you forget to change "Apple Computer inc." to "Apple inc."?

  • Like 1
Link to comment
Share on other sites

Because I can't influence what Clover Configurator do.

 

@arsradu

Did you forget to change "Apple Computer inc." to "Apple inc."?

Of course I forgot. :)) Changing it now, Slice, and I'll report back. :)

 

Update: tried that too. Didn't work...

 

Here's the SMBIOS part of my config.plist file

<key>SMBIOS</key>
    <dict>
        <key>BiosReleaseDate</key>
        <string>09/03/2013</string>
        <key>BiosVendor</key>
        <string>Apple Inc.</string>
        <key>BiosVersion</key>
        <string>IM141.88Z.0118.B00.1309031248</string>
        <key>Board-ID</key>
        <string>Mac-031B6874CF7F642A</string>
        <key>BoardManufacturer</key>
        <string>Apple Inc.</string>
        <key>BoardSerialNumber</key>
        <string>C02KYBUNF8J312345</string>
        <key>BoardType</key>
        <integer>10</integer>
        <key>ChassisAssetTag</key>
        <string>iMac-Aluminum</string>
        <key>ChassisManufacturer</key>
        <string>Apple Inc.</string>
        <key>ChassisType</key>
        <string>13</string>
        <key>Family</key>
        <string>iMac</string>
        <key>Manufacturer</key>
        <string>Apple Inc.</string>
        <key>Mobile</key>
        <false/>
        <key>ProductName</key>
        <string>iMac14,1</string>
        <key>SerialNumber</key>
        <string>C02KYBUNF8J3</string>
        <key>SmUUID</key>
        <string>a1241b18-feb9-11e3-b5f3-b2227cce2b54</string>
        <key>Trust</key>
        <true/>
        <key>Version</key>
        <string>1.0</string>
    </dict>

 

Link to comment
Share on other sites

@arsradu,

 

Some background on the iMessage problem: the Clover and Chameleon iMessage fixes are all based on ElNono_'s research on the criteria used by Apple to activate iMessage:

Quote from the above post dated Jan 2013
'KLDBootstrap::~KLDBootstrap' calculates these five 17 bytes values based on hashes of:
- IOPlatformUUID
- IOPlatformSerialNumber
- IODeviceTree:/chosen/boot-uuid
- IODeviceTree:/options/4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:ROM
- IODeviceTree:/options/4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:MLB

each value is appended, in that order, on the gIOPlatformExternalData OSData object.
....Those five values must be set when the kernel is started and MUST NOT change afterwards.

 

1) PlatformUUID---->This is the same as Hardware ID/SmUUID (32 digits separated by dashes ie XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)
The System-ID of a Mac is related to its IOPlatformUUID and is infact used to calculate IOPlatformUUID through some hashing process - see this post by Slice/Dmazar.  It is also 32 digits separated by dashes ie XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX but never the same value as the PlatformUUID.  System-ID can be seen by using the terminal command

ioreg -l -p IODeviceTree | grep \"system-id

2) PlatformSerialNumber---->This is the 12 digit System Serial number you put into your SMBIOS
3) boot-uuid---->related to the GUID of your OSX partition
4) ROM---->Firewire mac address with two middle bytes removed if present, otherwise ethernet mac address

                    (see ElNono_'s post)- 12 digits long
5) MLB---->Main-Logic-Board serial number and must be 17 characters long

 

Getting the NVRAM working and remembering the above values is half the battle in iMessage activation.  Check your Yosemite volume for the presence of nvram.plist - a hidden file on the root of the OSX partition.  If Clover is saving it properly, you should see something like the screenshot below....


post-846696-0-74109100-1403962202_thumb.png

 

When your NVRAM is working, you will also notice that Clover will "remember" the last booted volume.

The other part of the battle is when any of the above variables change (eg boot-uuid changes if you clean reinstall OSX on a different partition to the original, platform uuid if you boot the OSX partition with chameleon then later with Clover with an incorrectly specified Custom UUID, then your hack maybe blocked from Apple's side and you get the "contact Apple" error :wallbash:

 

 

Some methods used to fix this block by resetting your account

1. Use your genuine original idevice (be it iPhone or Mac) to change your AppleID password, then login with the said device to iCloud and iMessages.  After doing this you can try to  re-login to iCloud and iMessages on the hack using the new (changed) password.

2. Use the attached iMessage debug tool to extract the MLB, ROM, IOPlatformUUID and IOPlatformSerialNumber from a real Mac and place the genuine serials in the corresponding RTVariables/SMBIOS sections of Clover's config.plist on your hack - more detail here.

3. Add a credit card to your Apple account

4. If all else fails, some have succeeded by calling Apple Support

 

Hope that helps :).

imessage_debug.zip

  • Like 7
Link to comment
Share on other sites

I cannot seem to get this to inject for WIFI.  I have tried to do it as Slice's example a couple posts back then tried adding properties.  Neither one enables the WIFI.  The device works fine with device/vendor added to the Info.Plist.

	<key>Devices</key>
	<dict>
		<key>AddProperties</key>
		<array>
			<dict>
				<key>Device</key>
				<string>AirPortBrcm4360</string>
				<key>Key</key>
				<string>IONameMatch</string>
				<key>Value</key>
				<string>pci14e4,43a0</string>
			</dict>
		</array>
		<key>Audio</key>
		<dict>
			<key>Inject</key>
			<string>No</string>
		</dict>
		<key>FakeID</key>
		<dict>
			<key>ATI</key>
			<string>0x0</string>
			<key>IntelGFX</key>
			<string>0x0</string>
			<key>LAN</key>
			<string>0x0</string>
			<key>NVidia</key>
			<string>0x0</string>
			<key>SATA</key>
			<string>0x0</string>
			<key>WIFI</key>
			<string>0x0</string>
			<key>XHCI</key>
			<string>0x0</string>
		</dict>
		<key>Inject</key>
		<true/>
		<key>Properties</key>
		<string>2d0700000100000001000000210700002600000002010c00d041030a000000000101060000010101060000007fff040022000000400030002c0070006f00720074002d006e0075006d00620065007200000008000000000000002c0000004e005600440041002c0069006e00760061006c00690064002d0063006f006e00660069006700000008000000000000002e000000400030002c004100410050004c002c0062006f006f0074002d0064006900730070006c006100790000000400000022000000400030002c0064006900730070006c00610079002d006300660067000000080000000301000028000000400031002c0063006f006e006e006500630074006f0072002d00740079007000650000000800000000080000180000004100410050004c00300030002c0054003400000008000000c8000000160000006200750069006c0074002d0069006e000000050000000022000000400032002c0070006f00720074002d006e0075006d00620065007200000008000000020000002e000000400032002c004e005600440041002c0055006e006400650072007300630061006e004d0069006e000000080000005200000038000000400030002c007500730065002d006200610063006b006c0069006700680074002d0062006c0061006e006b0069006e0067000000040000002a0000004100410050004c00300030002c0044006100740061004a0075007300740069006600790000000800000001000000180000004100410050004c00300030002c0054003300000008000000c800000024000000400031002c00630061006e002d0068006f0074002d0070006c0075006700000004000000180000004100410050004c00300030002c005400370000000800000090010000280000004100410050004c00300030002c004c0069006e006b0046006f0072006d00610074000000080000000000000028000000400032002c0063006f006e006e006500630074006f0072002d007400790070006500000008000000000800001c000000400030002c00700077006d002d0069006e0066006f0000001c000000021800649059020008520000a51c00000004000001000000180000004100410050004c00300030002c00540032000000080000000100000022000000400031002c0070006f00720074002d006e0075006d0062006500720000000800000001000000240000004100410050004c00300030002c004400750061006c004c0069006e006b000000080000000100000028000000400030002c0063006f006e006e006500630074006f0072002d0074007900700065000000080000000200000014000000400030002c00450044004900440000008400000000ffffffffffff0006af9d2100000000001601049026157802c8959e575492260f505400000001010101010101010101010101010101143780c070382040306436007dd6100000180000000f0000000000000000000000000020000000fe0041554f0a202020202020202020000000fe004231373348573032205631200a0051240000004100410050004c00300030002c004c0069006e006b00540079007000650000000800000000000000180000004100410050004c00300030002c0054003600000008000000000000002e000000400031002c004e005600440041002c0055006e006400650072007300630061006e004d0069006e00000008000000520000002e000000400030002c006200610063006b006c0069006700680074002d0063006f006e00740072006f006c00000008000000010000001c000000400030002c006200750069006c0074002d0069006e00000004000000180000004100410050004c00300030002c0054003100000008000000000000002a0000004100410050004c00300030002c0050006900780065006c0046006f0072006d00610074000000080000000000000026000000670072006100700068006900630073002d006f007000740069006f006e00730000000800000004000000360000004100410050004c00300030002c0049006e007600650072007400650072004600720065007100750065006e0063007900000008000000000000002e000000400033002c004e005600440041002c0055006e006400650072007300630061006e004d0069006e0000000800000052000000100000004e0056004300410050000000180000000501000000000100060000000000000f00000000180000004100410050004c00300030002c00540035000000080000000100000022000000400033002c0070006f00720074002d006e0075006d006200650072000000080000000300000028000000400033002c0063006f006e006e006500630074006f0072002d00740079007000650000000800000000080000200000004100410050004c00300030002c00440069007400680065007200000008000000000000002e000000400030002c004e005600440041002c0055006e006400650072007300630061006e004d0069006e0000000800000052000000</string>
		<key>USB</key>

Link to comment
Share on other sites

@arsradu,

 

Some background on the iMessage problem: the Clover and Chameleon iMessage fixes are all based on ElNono_'s research on the criteria used by Apple to activate iMessage:

 

Quote from the above post dated Jan 2013

'KLDBootstrap::~KLDBootstrap' calculates these five 17 bytes values based on hashes of:

- IOPlatformUUID

- IOPlatformSerialNumber

- IODeviceTree:/chosen/boot-uuid

- IODeviceTree:/options/4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:ROM

- IODeviceTree:/options/4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:MLB

 

each value is appended, in that order, on the gIOPlatformExternalData OSData object.....Those five values must be set when the kernel is started and MUST NOT change afterwards.

 

NB There may be more variables involved and Apple can change the "activation formula" at any time from their side.

1) Platform UUID---->This is the same as chameleon's "System-ID" and you can find its value by typing in terminal

 

ioreg -l -p IODeviceTree | grep \"system-id

NB The Hardware UUID is derived/calculated from the Platform UUID but is a different number - see this post by Slice/Dmazar

 

2) PlatformSerialNumber---->This is the System Serial number you put into your SMBIOS

3) boot-uuid---->related to the GUID of your OSX partition

4) ROM---->Ethernet MAC address see post by mdmwii

5) MLB---->Main-board serial number and must be 17 characters long

 

Getting the NVRAM working and remembering the above values is half the battle in iMessage activation. Check your Yosemite volume for the presence of nvram.plist - a hidden file on the root of the OSX partition. If Clover is saving it properly, you should see something like the screenshot below....

attachicon.gifnvram.plist.png

When your NVRAM is working, you will also notice that Clover will "remember" the last booted volume.

The other part of the battle is when any of the above variables change (eg boot-uuid changes if you clean reinstall OSX on a different partition to the original, platform uuid if you boot the OSX partition with chameleon then later with Clover with an incorrectly specified Custom UUID, then your hack maybe blocked from Apple's side and you get the "contact Apple" error :wallbash:

 

 

Some methods used to fix this block by resetting your account

1. Use your genuine original idevice (be it iPhone or Mac) to change your AppleID password, then login with the said device to iCloud and iMessages. After doing this you can try to re-login to iCloud and iMessages on the hack using the new (changed) password.

2. Add a credit card to your Apple account

3. If all else fails, some have succeeded by calling Apple Support

 

Hope that helps :).

Thank you so much for all the details. This is still very confusing to me. And mostly because I don't remember having to add those things manually, the first time I installed Yosemite, with Clover. And also because of their naming. Isn't Clover supposed to add SMBIOS information and system parameters automatically? I mean, is there anywhere a generator/calculator that can give me the values I need for my case? All the values. Cause apparently Clover Configurator only generates half of it and Clover doesn't generate anything (not sure if that's intended or not).

 

I don't want to change the default values (I don't care if it says iMac or MacBook Pro as long as at least one of them works, it's not real anyway), if there would ever be default values added by Clover automatically. But there aren't.

Also, I've got no nvram.plist file in the root of my Yosemite partition. So I suppose there is nothing to pass on after reboot.

I feel like I'm missing something, somethign really small, but really important. I just can't figure out what is it.

Link to comment
Share on other sites

@arsradu,

 

I hope I didn't confuse you - the background research is to illustrate that there are many factors that could prevent iMessage from working and also give an explanation as to why a previously working install might stop working.

 

You are correct in that Clover does most things automatically so in practice, pretty much follow Slice's advice:

 

1. Change serials so you have unique ones.

 <key>SerialNumber</key>
 <string>C02KV4BHF8JC</string>
  --->This provides PlatformSerialNumber

 

 <key>BoardSerialNumber</key>      ---->BoardSerial must be 17 characters.
 <string>C02KV4BHF8JC12345</string>
---> This provides MLB

 

2. Change SmUUID

 

 <key>SmUUID</key>                
 <string>F6E10CFD-E59C-53D8-A6E7-546650779C56</string>

---->This is the Hardware ID you see when you click "About This Mac". It automatically gets injected into NVRAM as the Platform UUID and the related System-ID.  The regression I was talking about in r2006-2021 turned off automatic injection of System-ID.

 

Clover injects the boot-uuid and ROM into NVRAM with no user intervention.

 

So assuming you are on Clover r2721 and running Yosemite DP2,

1. Install Clover with "Install RC Scripts" on target volume and on all bootable OSX volumes

2. Make sure you set SystemID Injection to True in the config.plist

 

 <key>InjectSystemID</key>
 <true/>

 

3. Run @Pokenguyen's workaround to fix saving the nvram.plist in terminal:

sudo defaults write com.apple.loginwindow LogoutHook /private/etc/rc.shutdown.d/80.save_nvram_plist.local

4. Test that NVRAM is working and nvram.plist is being saved.  To show the hidden nvram.plist file in Finder, type this in terminal and see if it is in the / directory.

defaults write com.apple.finder AppleShowAllFiles 1 && killall Finder

5. Your other problem is that your boot-uuid has changed since you clean installed Yosemite on a completely wiped hard drive.  This may require resetting your Apple account as I outlined in post #4869.

 

@magnifico,

 

I'm not Slice but I've found that kext-dev-mode=1 is only required in Yosemite when all 3 criteria below are met:

 

1. When booting with kernelcache (you can actually boot Yosemite without caches using Chameleon r2380 -v -f and this doesn't require kext-dev-mode=1.  Unfortunately, Clover can't do this with OSX 10.10 yet)

2. When the kext isn't on Apple's kext exclude list - look at the info.plist inside AppleKextExcludeList.kext and you will see many hackintosh kexts already there :hysterical:

3. When you edit/patch/install the modified kext in /S/L/E instead of letting Clover inject it from /EFI/Clover/Kexts/10.10 eg if you binary patch AppleHDA.kext in S/L/E, its signature becomes invalid so it won't load without kext-dev-mode=1.

 

AFAIK, injecting kexts from EFI/Clover/Kexts/10.10 mostly bypasses the problem :yes:.

  • Like 4
Link to comment
Share on other sites

@arsradu,

 

I hope I didn't confuse you - the background research is to illustrate that there are many factors that could prevent iMessage from working and also give an explanation as to why a previously working install might stop working.

 

You are correct in that Clover does most things automatically so in practice, pretty much follow Slice's advice:

 

1. Change serials so you have unique ones.

 <key>SerialNumber</key>

 <string>C02KV4BHF8JC</string>  --->This provides PlatformSerialNumber

 

 <key>BoardSerialNumber</key>      ---->BoardSerial must be 17 characters.

 <string>C02KV4BHF8JC12345</string> ---> This provides MLB

 

2. Change SmUUID

 

 <key>SmUUID</key>                

 <string>F6E10CFD-E59C-53D8-A6E7-546650779C56</string>

---->This is the Hardware UUID you see when you click "About This Mac". It automatically gets converted by Clover and injected into NVRAM as the derived value Platform UUID.  The regression I was talking about in r2006-2021 turned off this automatic injection.

 

Clover injects the boot-uuid and ROM into NVRAM with no user intervention.

 

So assuming you are on Clover r2721 and running Yosemite DP2,

1. Install Clover with "Install RC Scripts" on target volume and on all bootable OSX volumes

2. Make sure you set SystemID Injection to True in the config.plist

 

 <key>InjectSystemID</key>

 <true/>

 

3. Run @Pokenguyen's workaround to fix saving the nvram.plist in terminal:

sudo defaults write com.apple.loginwindow LogoutHook /private/etc/rc.shutdown.d/80.save_nvram_plist.local

4. Test that NVRAM is working and nvram.plist is being saved.  To show the hidden nvram.plist file in Finder, type this in terminal and see if it is in the / directory.

defaults write com.apple.finder AppleShowAllFiles 1 && killall Finder

5. Your other problem is that your boot-uuid has changed since you clean installed Yosemite on a completely wiped hard drive.  This may require resetting your Apple account as I outlined in post #4869.

 

 

Thanks again, so much, for your help.

 

I made a new USB stick with Yosemite. I reinstalled it on a wiped partition. I didn't wipe the entiere HDD since I've got a partition that I would like to keep. It's not a bootable one anyway.

But, before doing this, I tried to install Clover in legacy mode... Yeah, stupid mistake. I know. And now, after I wiped that partition, recreated it with Disk Utility, erased it and everything, I reinstalled the OS and booted up. After that, I tried installing Clover in UEFI mode, on that partition. And it didn't say anything like it would be something wrong with that.

But I noticed there is no EFI partition, there is an EFI folder though, inside the Yosemite partition. And, when trying to boot up from the HDD, I get a boot0af error. I suppose that's something left from the legacy installation since that's what I chose when installing in legacy mode. But I thought that wiping the whole freaking partition was enough to get rid of that issue as well.

 

So before actually getting into doing what you showed me above (I did it on the USB stick though, I just need to do it again on the HDD as well), I need to fix this little error I told you about. How do I do that?

Basically, now, my EFI folder is inside the Yosemite partition (legacy style) instead of being on a separate partition. Oh, and I don't have an EFI parition on my HDD either. Only a Recovery HD one. Which is, as always, hidden.

So, in theory, all I need to do is to move that EFI folder to a newly created EFI partition. But that's the theory. I suppose it's not that easy.

 

Also, I reset my Apple password so that should no longer be an issue.

 

If you wanna take a look at what I did, please, see the attached config.plist (from the USB stick I made). Also, what's that Custom UUID? Should I care about it? Should I add anything in there?

 

By the way, iMessage is working now. :D The nvram.plist file is saved in /Yosemite. So the only thing left to do is fix the boot. :D

 

Also, about dev-kext-mode=1. Well, I never needed to add that. I just put the FakeSMC.kext in the /EFI/CLOVER/kexts/10.10 (I need to create this folder since it's not already there). And boot normally. No -x, -s, - nothing. It boots in normal mode. I just need to make sure I always have that little kext in the right place, otherwise it will hang and never reach the installer.

But that's just me. So, to me, that would be pretty mush useless. I suppose there would be some other boot flags that people would have to add to boot properly. But that specific one...I'm not sure it's necessary. For extra kexts like the one for LAN and Audio, I use separate kexts, after the OS is installed. At least, that's the way I do these things. :)

config.plist.zip

  • Like 1
Link to comment
Share on other sites

Thanks again, so much, for your help.

 

... I tried installing Clover in UEFI mode, on that partition. And it didn't say anything like it would be something wrong with that.

But I noticed there is no EFI partition, there is an EFI folder though, inside the Yosemite partition. And, when trying to boot up from the HDD, I get a boot0af error. I suppose that's something left from the legacy installation since that's what I chose when installing in legacy mode. But I thought that wiping the whole freaking partition was enough to get rid of that issue as well.

 

... So, in theory, all I need to do is to move that EFI folder to a newly created EFI partition. But that's the theory. I suppose it's not that easy.

 

Installing Clover UEFI does not create a EFI folder on the root drive, it creates the folder in the EFI partiton created by the OS install. Maybe a Clover Installer Screenshot of your selections might make this easier to clear up... If you believe you have a working EFI folder with the correct drivers64UEFI contents (.efi) files then by all means, move it to your EFI partition...

Link to comment
Share on other sites

Installing Clover UEFI does not create a EFI folder on the root drive, it creates the folder in the EFI partiton created by the OS install. Maybe a Clover Installer Screenshot of your selections might make this easier to clear up... If you believe you have a working EFI folder with the correct drivers64UEFI contents (.efi) files then by all means, move it to your EFI partition...

Yes, I know it doesn't, but the EFI partition was not created upon installation, for some reason. :) And sometimes when I try to erase a partition, it gives me some error about MediaKit ("mediakit reports not enough space on device for requested operation") which is kinda silly since I'm not asking it to add anything on the partition. I'm asking it to erase/remove stuff from the partition. I've attached two screenshots since I couldn't cover everything in one. Anyway, it's the same thing I put on my USB drive. I don't have an EFI partition on my HDD. So moving the EFI folder over there is not quite possible. :)

Is there a way of fixing it without removing everything on that HDD?

post-1303722-0-12169800-1404081368_thumb.png

post-1303722-0-86338400-1404081374_thumb.png

Link to comment
Share on other sites

I have a question,

 

My hackintosh is fine, but not sure if clover has a glitch.

 

When I boot into Mac, it's just shows black screen for 1 minute, then I'm on desktop. Is there anyway I can get the actually mac booting/loading screen?

Like this?

mac-boot-splash-1-4-11.png

 

Thanks.

Link to comment
Share on other sites

Yes, I know it doesn't, but the EFI partition was not created upon installation, for some reason. :) And sometimes when I try to erase a partition, it gives me some error about MediaKit ("mediakit reports not enough space on device for requested operation") which is kinda silly since I'm not asking it to add anything on the partition. I'm asking it to erase/remove stuff from the partition. I've attached two screenshots since I couldn't cover everything in one. Anyway, it's the same thing I put on my USB drive. I don't have an EFI partition on my HDD. So moving the EFI folder over there is not quite possible. :)

Is there a way of fixing it without removing everything on that HDD?

Are you on MBR part  to your  HDD ?

I have a question,

 

My hackintosh is fine, but not sure if clover has a glitch.

 

When I boot into Mac, it's just shows black screen for 1 minute, then I'm on desktop. Is there anyway I can get the actually mac booting/loading screen?

Like this?

 

 

Thanks.

Strange; same thing to me  :(

Link to comment
Share on other sites

Are you on MBR part  to your  HDD ?

Looks like it. Yeah. I mean, I was installing Clover into the MBR before. But then I wiped the OS partition and, in theory, there should have been nothing left, or at least that's what I thought. Then I reinstalled the OS on a clean partition, then installed Clover (this time for UEFI) and It didn't actually install on EFI, most likely cause there was no EFI partition created. And trying to boot like that, it gives me error boot0af.

Link to comment
Share on other sites

Looks like it. Yeah. I mean, I was installing Clover into the MBR before. But then I wiped the OS partition and, in theory, there should have been nothing left, or at least that's what I thought. Then I reinstalled the OS on a clean partition, then installed Clover (this time for UEFI) and It didn't actually install on EFI, most likely cause there was no EFI partition created. And trying to boot like that, it gives me error boot0af.

You can try create small fAT32 Parttion  and put the EFI usb ON IT  :)

 

Maiby works 

Link to comment
Share on other sites

You can try create small fAT32 Parttion  and put the EFI usb ON IT  :)

 

Maiby works 

Not sure it will. It's not just a FAT32 partition. It has to be named EFI, it has to be hidden (which I'm not sure how to do) and, if I'm not mistaken, it has to have a specific size (which I don't know). Also, it has to be the first one (disk0s1), which is not possible to achieve (at least not with Disk Utility). You can only add data/partitions after the initial one, but not at the begining of it or before it. Meaning that if your system partition (in my case /Yosemite) is on disk0s1, you can't move that to disk0s2 and create another FAT32 partition, for EFI, on disk0s1. Or maybe there is a way and I don't know about it.

 

Link to comment
Share on other sites

@arsradu,

 

Glad to hear that you have iMessage working again :).

 

If your hard disk is missing an EFI partition, you unfortunately can't install Clover into it and you will need to install Clover's boot files on the MBR ie untick "Install Clover in the ESP" and boot via the legacy pathway instead of UEFI. 

 

To confirm your disk layout, enable the debug menu in Disk Utility by typing in terminal:

defaults write com.apple.DiskUtility DUDebugMenuEnabled 1

and restart Disk Utility ---> show every partition (useful to show hidden partitions & mount/unmount the EFI (by right clicking on it))

 

post-846696-0-02302800-1402218000_thumb.

 

It is possible to rebuild the EFI partition from scratch but it is a potentially risky procedure and I would recommend backing up your data onto an external hard drive before attempting it - see post by @pmjordan in this thread or try using the GPT Fdisk utility "GDisk".

 

Usually, to completely wipe the hard disk and prepare it for OSX install, I recommend using Disk Utility's "Partition" tab, select 1 partition and choose GUID Partition Table under options ---> click "Apply" ----> this automatically creates a hidden 200MB EFI partition.

  • Like 1
Link to comment
Share on other sites

Not sure it will. It's not just a FAT32 partition. It has to be named EFI, it has to be hidden (which I'm not sure how to do) and, if I'm not mistaken, it has to have a specific size (which I don't know). Also, it has to be the first one (disk0s1), which is not possible to achieve (at least not with Disk Utility). You can only add data/partitions after the initial one, but not at the begining of it or before it. Meaning that if your system partition (in my case /Yosemite) is on disk0s1, you can't move that to disk0s2 and create another FAT32 partition on disk0s1. Or maybe there is a way and I don't know about it.

 

Maiby with ( gparted linux live cd  ) its  possible to create another partition  on MBR disk 

 

just burn this on cd  and reboot on  gparted  ;)

Link to comment
Share on other sites

Yes, I know it doesn't, but the EFI partition was not created upon installation, for some reason. :) And sometimes when I try to erase a partition, it gives me some error about MediaKit ("mediakit reports not enough space on device for requested operation") which is kinda silly since I'm not asking it to add anything on the partition. I'm asking it to erase/remove stuff from the partition. I've attached two screenshots since I couldn't cover everything in one. Anyway, it's the same thing I put on my USB drive. I don't have an EFI partition on my HDD. So moving the EFI folder over there is not quite possible. :)

Is there a way of fixing it without removing everything on that HDD?

The best way to create the EFI partition would be something like this:  sudo newfs_msdos -v EFI -F 32 /dev/disk0XsX

 

But before gambling with your boot drive, format a USB drive with 1 GUID partition, run the UEFI installer (like your screenies) and point to the USB drive. Check to see if the EFI folder is created in the USB EFI partition

Link to comment
Share on other sites

The best way to create the EFI partition would be something like this:  sudo newfs_msdos -v EFI -F 32 /dev/disk0XsX

 

But before gambling with your boot drive, format a USB drive with 1 GUID partition, run the UEFI installer (like your screenies) and point to the USB drive. Check to see if the EFI folder is created in the USB EFI partition

It is. I've used exactly the same steps (same things checked in the installer) when created the USB Stick. So yes, it's doing the right thing. The partition was created on the stick, but not on the HDD. This is most likely due to me playing with all the partitions and all the wiping I've done during the past few days.

@arsradu,

 

Glad to hear that you have iMessage working again :).

 

If your hard disk is missing an EFI partition, you unfortunately can't install into it and you will need to install Clover's boot files on the MBR ie untick "Install Clover in the ESP" and boot via the legacy pathway instead of UEFI. 

 

To confirm your disk layout, enable the debug menu in Disk Utility by typing in terminal:

defaults write com.apple.DiskUtility DUDebugMenuEnabled 1

and restart Disk Utility ---> show every partition (useful to show hidden partitions & mount/unmount the EFI (by right clicking on it))

 

post-846696-0-02302800-1402218000_thumb.

 

It is possible to rebuild the EFI partition from scratch but it is a potentially risky procedure and I would recommend backing up your data onto an external hard drive before attempting it - see post by @pmjordan in this thread or this one by @MikeC using GDisk.

 

Usually, to completely wipe the hard disk and prepare it for OSX install, I recommend using Disk Utility's "Partition" tab, select 1 partition and choose GUID Partition Table under options ---> click "Apply" ----> this automatically creates a hidden 200MB EFI partition.

:) I am already using that method. In fact I used that command so often I already memorized it. :)) So, don't worry, when I say I don't have an EFI partition, I'm not saying I can't see it (cause it's hidden, just like the recovery one). I'm saying it's not there cause it's not created. The system didn't automatically created it when I prepared the partition for OSX installation. So..I suppose there are only two options now:

1. go fully with the MBR installation, which would mean that I need to remove the EFI folder from my /Yosemite partition (not sure, do I need to remove the EFI_Backups folder as well?). What else do I have to remove to have a full Clover uninstallation?

2. try to format again (which I'm not sure how much good will bring since I've already done done before) and try my luck with the UEFI installation again.

 

Anyway, to me, today was a good day for science. I learned so much from you, man. :)

Link to comment
Share on other sites

It is. I've used exactly the same steps (same things checked in the installer) when created the USB Stick. So yes, it's doing the right thing. The partition was created on the stick, but not on the HDD. This is most likely due to me playign with all the partitions and wiping I've done during the past few days.

Then I'd just copy off anything I needed, format the drive and start over. Otherwise you're always going to question if it's right.  Luck with it...

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...