Contribute
Register

[Solved] Clover: the miracle of Custom Entries revealed ;-)

Status
Not open for further replies.
Joined
Jul 11, 2012
Messages
450
Motherboard
Gigabyte GA Z68XP-UD3
CPU
i7 3770
Graphics
GT 210
Mac
  1. iMac
  2. Mac mini
Mobile Phone
  1. Android
Hi everybody!

Custom Entries are not only for renaming or hiding partitions, here's what you can achieve — After many searches, I found 2 solutions for my problem, but I'm quite sure there's a more elegant one… (look at the end of this post and tell me if it's possible, please! ;) )

EDIT: see post #3 for THE solution, thanks to BreBo!

I have multiple MacOS partitions on the same drive and here's the catch:
• Using Clover to boot El Capitan, I've got sound working with the typical Multibeast patches (8319D411>00000000, etc.)
• Using Clover to boot Mavericks, I need no HDA patch (I use Toleda's AppleHDA 2.5.3, because no matter what I've tried, the original kext is not working with the Multibeast patches)

The patches as they appear in Clover Configurator :
Capture d’écran 2018-11-19 à 10.16.52.jpg

Solution 1: Custom Entry for 10.9 with NoCache checked. It works but it's a bit sad not benefitting from the cache when I know it can be used...

Solution 2: main config.plist without patches but with a Custom Entry for 10.11 pointing to a second config.plist with HDA injections in it. Works too, but it bothers me a bit having to call another file…
Important: the 2nd config.plist must be called without ".plist"! (i.e. <key>Settings</key> <string>config1011</string> when the file itself is called config1011.plist)

Looks like this in Clover Configurator :
Capture d’écran 2018-11-19 à 10.10.51.jpg

In this case, config1011.plist contains only the patches:
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>KernelAndKextPatches</key>
 <dict>
  <key>KextsToPatch</key>
  <array>
   <dict>
    <key>Comment</key>
    <string>10.11-AppleHDA/Realtek ALC...</string>
    <key>Disabled</key>
    <false/>
    <key>Find</key>
    <data>
    gxnUEQ==
    </data>
    <key>InfoPlistPatch</key>
    <false/>
    <key>Name</key>
    <string>AppleHDA</string>
    <key>Replace</key>
    <data>
    AAAAAA==
    </data>
   </dict>
   <dict>
    <key>Comment</key>
    <string>10.9-10.11-AppleHDA/Realtek ALC889</string>
    <key>Disabled</key>
    <false/>
    <key>Find</key>
    <data>
    ixnUEQ==
    </data>
    <key>InfoPlistPatch</key>
    <false/>
    <key>Name</key>
    <string>AppleHDA</string>
    <key>Replace</key>
    <data>
    iQjsEA==
    </data>
   </dict>
   <dict>
    <key>Comment</key>
    <string>AppleHDA/Resources/xml&gt;zml</string>
    <key>Disabled</key>
    <false/>
    <key>Find</key>
    <data>
    eG1sLnps
    </data>
    <key>InfoPlistPatch</key>
    <false/>
    <key>Name</key>
    <string>AppleHDA</string>
    <key>Replace</key>
    <data>
    em1sLnps
    </data>
   </dict>
  </array>
 </dict>
</dict>
</plist>



Solution 3 (the one I'd prefer if it worked…): only one config.plist with a Custom Entry for 10.11 including inline patches inside the <dict>…</dict> (here's the portion of the code just for the custom entry)
Code:
…
    <dict>
     <key>Disabled</key>
     <false/>
     <key>Ignore</key>
     <false/>
     <key>KernelAndKextPatches</key>
     <dict>
      <key>AppleIntelCPUPM</key>
      <true/>
      <key>AppleRTC</key>
      <true/>
      <key>KernelCpu</key>
      <false/>
      <key>KernelLapic</key>
      <false/>
      <key>KernelPm</key>
      <true/>
      <key>KernelXCPM</key>
      <false/>
      <key>KextsToPatch</key>
      <array>
       <dict>
        <key>Comment</key>
        <string>10.11-AppleHDA/Realtek ALC...</string>
        <key>Disabled</key>
        <false/>
        <key>Find</key>
        <data>
        gxnUEQ==
        </data>
        <key>InfoPlistPatch</key>
        <false/>
        <key>Name</key>
        <string>AppleHDA</string>
        <key>Replace</key>
        <data>
        AAAAAA==
        </data>
       </dict>
       <dict>
        <key>Comment</key>
        <string>10.9-10.11-AppleHDA/Realtek ALC889</string>
        <key>Disabled</key>
        <false/>
        <key>Find</key>
        <data>
        ixnUEQ==
        </data>
        <key>InfoPlistPatch</key>
        <false/>
        <key>Name</key>
        <string>AppleHDA</string>
        <key>Replace</key>
        <data>
        iQjsEA==
        </data>
       </dict>
       <dict>
        <key>Comment</key>
        <string>AppleHDA/Resources/xml&gt;zml</string>
        <key>Disabled</key>
        <false/>
        <key>Find</key>
        <data>
        eG1sLnps
        </data>
        <key>InfoPlistPatch</key>
        <false/>
        <key>Name</key>
        <string>AppleHDA</string>
        <key>Replace</key>
        <data>
        em1sLnps
        </data>
       </dict>
      </array>
     </dict>
     <key>NoCaches</key>
     <false/>
     <key>Title</key>
     <string>10.11</string>
     <key>Type</key>
     <string>OSX</string>
     <key>Volume</key>
     <string>ELCAP</string>
     <key>VolumeType</key>
     <string>Internal</string>
    </dict>
…

I believe the keys from AppleIntelCPUPM until KernelXCPM are useless but I added them in my last trial, just in case, as it didn't work without.


So, am I missing something? Is it simply impossible? Or is it just a syntax error? — I'd be surprised, as I followed the indications in https://clover-wiki.zetam.org/Configuration/GUI#gui_custom_custom-entries that says:
KernelAndKextPatches - Uses the same hierarchy and offers the same functionality found in KernelAndKextPatches, so you can selectively apply patches for each entry.

What do you think, you knowledgeable people? :)
 
Last edited:
Status
Not open for further replies.
Top