Jump to content
30960 posts in this topic

Recommended Posts

Hi @Slice! It is possible to convert this OC patch in Clover patch?

 

<dict>
                    <key>Arch</key>
                    <string>x86_64</string>
                    <key>Base</key>
                    <string>_cs_require_lv</string>
                    <key>Comment</key>
                    <string>Disable Library Validation Enforcement</string>
                    <key>Count</key>
                    <integer>0</integer>
                    <key>Enabled</key>
                    <true/>
                    <key>Find</key>
                    <data></data>
                    <key>Identifier</key>
                    <string>kernel</string>
                    <key>Limit</key>
                    <integer>0</integer>
                    <key>Mask</key>
                    <data></data>
                    <key>MaxKernel</key>
                    <string></string>
                    <key>MinKernel</key>
                    <string>20.0.0</string>
                    <key>Replace</key>
                    <data>uAAAAADD</data>
                    <key>ReplaceMask</key>
                    <data></data>
                    <key>Skip</key>
                    <integer>0</integer>
                </dict>

 

Thank you?

 

Spoiler

1.png

 

Edited by Stefanalmare
7 hours ago, Stefanalmare said:

Hi @Slice! It is possible to convert this OC patch in Clover patch?

 

<dict>
                    <key>Arch</key>
                    <string>x86_64</string>
                    <key>Base</key>
                    <string>_cs_require_lv</string>
                    <key>Comment</key>
                    <string>Disable Library Validation Enforcement</string>
                    <key>Count</key>
                    <integer>0</integer>
                    <key>Enabled</key>
                    <true/>
                    <key>Find</key>
                    <data></data>
                    <key>Identifier</key>
                    <string>kernel</string>
                    <key>Limit</key>
                    <integer>0</integer>
                    <key>Mask</key>
                    <data></data>
                    <key>MaxKernel</key>
                    <string></string>
                    <key>MinKernel</key>
                    <string>20.0.0</string>
                    <key>Replace</key>
                    <data>uAAAAADD</data>
                    <key>ReplaceMask</key>
                    <data></data>
                    <key>Skip</key>
                    <integer>0</integer>
                </dict>

 

Thank you?

 

  Reveal hidden contents

 

Yes, possible. Look here https://www.insanelymac.com/forum/topic/304530-clover-change-explanations/?do=findComment&comment=2740755

Then we take config.plist where we want to use this patch and open section "<key>KernelAndKextPatches</key>"

At this moment I work in simple TextEditor to correctly copy <data> fields.

We see the patch is written to Kernel

             <key>Identifier</key>
             <string>kernel</string>

so we create a section, or use existing one

            <key>KernelToPatch</key>
            <array>

And add here this new dict.

Then we have to rename most of the keys.

I don't know why OpenCore developers rename all my keys. Clover exist much more years the OpenCore.

OpenCore              Clover
Base                  Procedure
Comment               Comment
Count                 Count
Enabled               Disabled
Skip                  Skip
Identifier            Name
Find                  Find
Mask                  MaskFind
Replace               Replace
ReplaceMask           MaskReplace
MaxKernel             -
MinKernel             -
-                     MatchOS
-                     InfoPlistPatch
-                     RangeFind

Do the renaming. Undefined keys just erase.

image.png

Then we see empty values. They are not permitted. You have to write values.

Find = 00 but MaskFind = 00 will mean any value.

MaskReplace = FF will mean full replace. 00 - no replace.

And one more rule. Find must be same length as Replace. 

Mask* can be shorter then Find assuming FF for the rest of MASK

So

image.png

Count=0 has no sense so can be erased also. As well as Skip.

Remember that Clover permit you to write only significant keys while OpenCore forced you to write all keys even empty.

  • Like 1
  • Thanks 2
7 hours ago, Slice said:

Remember that Clover permit you to write only significant keys while OpenCore forced you to write all keys even empty.

 

but CLOVER makes you write this for an empty Find?

 

Find		B800000000C3
MaskFind	000000000000

 

14 hours ago, Slice said:

Yes, possible. Look here https://www.insanelymac.com/forum/topic/304530-clover-change-explanations/?do=findComment&comment=2740755

Then we take config.plist where we want to use this patch and open section "<key>KernelAndKextPatches</key>"

At this moment I work in simple TextEditor to correctly copy <data> fields.

We see the patch is written to Kernel

             <key>Identifier</key>
             <string>kernel</string>

so we create a section, or use existing one

            <key>KernelToPatch</key>
            <array>

And add here this new dict.

Then we have to rename most of the keys.

I don't know why OpenCore developers rename all my keys. Clover exist much more years the OpenCore.

OpenCore              Clover
Base                  Procedure
Comment               Comment
Count                 Count
Enabled               Disabled
Skip                  Skip
Identifier            Name
Find                  Find
Mask                  MaskFind
Replace               Replace
ReplaceMask           MaskReplace
MaxKernel             -
MinKernel             -
-                     MatchOS
-                     InfoPlistPatch
-                     RangeFind

Do the renaming. Undefined keys just erase.

image.png

Then we see empty values. They are not permitted. You have to write values.

Find = 00 but MaskFind = 00 will mean any value.

MaskReplace = FF will mean full replace. 00 - no replace.

And one more rule. Find must be same length as Replace. 

Mask* can be shorter then Find assuming FF for the rest of MASK

So

image.png

Count=0 has no sense so can be erased also. As well as Skip.

Remember that Clover permit you to write only significant keys while OpenCore forced you to write all keys even empty.

 

@Slice, it doesn't boot with the patch like this. Can be a mistake? Actually I need solution for this 2 patches for using OCLP with Clover:

 

 <dict>
                    <key>Arch</key>
                    <string>x86_64</string>
                    <key>Base</key>
                    <string>_apfs_filevault_allowed</string>
                    <key>Comment</key>
                    <string>Force FileVault on Broken Seal</string>
                    <key>Count</key>
                    <integer>0</integer>
                    <key>Enabled</key>
                    <true/>
                    <key>Find</key>
                    <data></data>
                    <key>Identifier</key>
                    <string>com.apple.filesystems.apfs</string>
                    <key>Limit</key>
                    <integer>0</integer>
                    <key>Mask</key>
                    <data></data>
                    <key>MaxKernel</key>
                    <string></string>
                    <key>MinKernel</key>
                    <string>20.4.0</string>
                    <key>Replace</key>
                    <data>uAEAAADD</data>
                    <key>ReplaceMask</key>
                    <data></data>
                    <key>Skip</key>
                    <integer>0</integer>
                </dict>
                <dict>
                    <key>Arch</key>
                    <string>x86_64</string>
                    <key>Base</key>
                    <string>_cs_require_lv</string>
                    <key>Comment</key>
                    <string>Disable Library Validation Enforcement</string>
                    <key>Count</key>
                    <integer>0</integer>
                    <key>Enabled</key>
                    <true/>
                    <key>Find</key>
                    <data></data>
                    <key>Identifier</key>
                    <string>kernel</string>
                    <key>Limit</key>
                    <integer>0</integer>
                    <key>Mask</key>
                    <data></data>
                    <key>MaxKernel</key>
                    <string></string>
                    <key>MinKernel</key>
                    <string>20.0.0</string>
                    <key>Replace</key>
                    <data>uAAAAADD</data>
                    <key>ReplaceMask</key>
                    <data></data>
                    <key>Skip</key>
                    <integer>0</integer>
                </dict>

 

I need it because I saw that sometimes clover boot better problematic rigs, especially on upgrades.

Thank you @Slice

                    <key>Identifier</key>
                    <string>com.apple.filesystems.apfs</string>
Means this is KextsToPatch section and you should add

 

                    <key>Name</key>
                    <string>com.apple.filesystems.apfs</string>
Other fields rewrite by same methods.

  • Like 3
  • 2 weeks later...

I am trying to get my pc more virtualised. With proxmox. Most people do it with opencore images, but I would like to stay with clover because I like it and I know it (a little bit).

Right now, passing the gpu (amd rx 580) works well, installed monterey but I am having trouble with restarting or shutdown:

If i want to shutdown now, the display goes black and instead of shutting down, cpu usage goes to 100% in proxmox and I have to write 'qm stop <vmid>'

Thanks!


 

Edited by phi777
On 4/9/2023 at 9:51 PM, phi777 said:

I am trying to get my pc more virtualised. With proxmox. Most people do it with opencore images, but I would like to stay with clover because I like it and I know it (a little bit).

Right now, passing the gpu (amd rx 580) works well, installed monterey but I am having trouble with restarting or shutdown:

If i want to shutdown now, the display goes black and instead of shutting down, cpu usage goes to 100% in proxmox and I have to write 'qm stop <vmid>'

And, one more question: I everytime have to select under "binary patching" -> "provide CPU info" , how can I translate this to the config.plist?

Thanks!


 

            <key>ProvideCurrentCpuInfo</key>

            <true/>

  • Like 2
1 hour ago, Slice said:

            <key>ProvideCurrentCpuInfo</key>

            <true/>

Thank you! I edited my post, because it works, if I select skylake-client in the vm configuration. I tested with ProvideCurrentCpuInfo and cpu host in vm config, speed is the same and features are the same.

sysctl -a | grep machdep.cpu.features

gives on bare metal:

FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C

and in proxmox vm:

FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH MMX FXSR SSE SSE2 SS HTT SSE3 PCLMULQDQ VMX SSSE3 FMA CX16 PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES VMM PCID XSAVE OSXSAVE TSCTMR AVX1.0 RDRAND F16C

 

Geekbench cpu score in VM (with 8 cores) is 1570, 7220 vs 1660,8060 on bare metal (8 Cores, but 16 Threads), so that is good for me, just for info if anybody is interested how much is the cost of virtualisation.

 

So, basically everything is working, apart from shutdown/reset. My last problems.

I tried so many things but nada.

 

Edited by phi777
  • Like 1

Hi all

 

Uising SMBIOS Macpro6,1 instead of iMac13,2, I upgrade my old Ivybridge from Catalina 10.15.7  to Monterey 12.6.3. Then patched IntelHD4000 and Nvidia GT640.

Now Software Updater show up macOS full installer instead of Update, when I want to update Monterey to the latest version. Maybe I select the wrong csrActiveconfig 0x867 ?

 

Any ideas ? Please.

34 minutes ago, Matgen84 said:

Hi all

 

Uising SMBIOS Macpro6,1 instead of iMac13,2, I upgrade my old Ivybridge from Catalina 10.15.7  to Monterey 12.6.3. Then patched IntelHD4000 and Nvidia GT640.

Now Software Updater show up macOS full installer instead of Update, when I want to update Monterey to the latest version. Maybe I select the wrong csrActiveconfig 0x867 ?

 

Any ideas ? Please.

It is normal. If you root patch, always full installer.

  • Thanks 1
  • 2 weeks later...

little advertising :)

Posted New Release

Clover Suite Builder  2.0

adds a few improvement for some tools

corrected typos

Main Clover Suite Builder

now (after my recent modifications to mtoc builds)

will check also for installed system and choose the correct mtoc developement

for the OS.

modified also machine info tool. some aesthetic stuff and a few more checks added

 

Major update is: Now it has its own Themes Downloader.

it will offer a few known suggested repository to get your themes.

 

  • Like 8

Hi @Slice

Before with Clover r5146, I have 5146 EFI_IVY /EFI/CLOVER at the bottom right of Clover GUI. Now with Clover 5151, I have only 5151 /EFI/CLOVER. I don't undestand why volume EFI has disappeared !

 

/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk1
   1:                        EFI ⁨EFI_IVY⁩                 209.7 MB   disk1s1   <------
   2:                 Apple_APFS ⁨Container disk3⁩         1000.0 GB  disk1s2

/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk2
   1:                        EFI ⁨EFI⁩                     209.7 MB   disk2s1
   2:                 Apple_APFS ⁨Container disk4⁩         1000.0 GB  disk2s2

 

On 4/30/2023 at 10:16 AM, Matgen84 said:

Hi @Slice

Before with Clover r5146, I have 5146 EFI_IVY /EFI/CLOVER at the bottom right of Clover GUI. Now with Clover 5151, I have only 5151 /EFI/CLOVER. I don't undestand why volume EFI has disappeared !

 

/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk1
   1:                        EFI ⁨EFI_IVY⁩                 209.7 MB   disk1s1   <------
   2:                 Apple_APFS ⁨Container disk3⁩         1000.0 GB  disk1s2

/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk2
   1:                        EFI ⁨EFI⁩                     209.7 MB   disk2s1
   2:                 Apple_APFS ⁨Container disk4⁩         1000.0 GB  disk2s2

 

I am sorry but I removed it because 5151 EFI EFI looks quirky.

  • Like 1
18 hours ago, Slice said:

I am sorry but I removed it because 5151 EFI EFI looks quirky.

 

Ok. I understand.🙂

 

5XXX EFI_IVY /EFI/CLOVER was introduced by Jief to identify two Volumes/EFI on the same hackintosh. Directly via Clover GUI, I can verify when I boot on from one or another.

On 5/3/2023 at 12:40 PM, Matgen84 said:

 

Ok. I understand.🙂

 

5XXX EFI_IVY /EFI/CLOVER was introduced by Jief to identify two Volumes/EFI on the same hackintosh. Directly via Clover GUI, I can verify when I boot on from one or another.

See REFIT_MAINMENU_SCREEN.cpp line 172

    case TEXT_CORNER_REVISION:
      // Display Clover boot volume
      if (SelfVolume->VolLabel.notEmpty()  &&  SelfVolume->VolLabel[0] != L'#') {
        Text = SWPrintf("%ls, booted from %ls %ls", gFirmwareRevision, SelfVolume->VolLabel.wc_str(), self.getCloverDirFullPath().wc_str());
      }
      if (Text.isEmpty()) {
        Text = SWPrintf("%ls %ls", gFirmwareRevision, /*SelfVolume->VolName.wc_str(),*/ self.getCloverDirFullPath().wc_str());
      }
      break;

Change line 178 as

Text = SWPrintf("%ls %ls %ls", gFirmwareRevision, SelfVolume->VolName.wc_str(), self.getCloverDirFullPath().wc_str());

to see back the volume name.

  • Thanks 1
28 minutes ago, Slice said:

See REFIT_MAINMENU_SCREEN.cpp line 172

    case TEXT_CORNER_REVISION:
      // Display Clover boot volume
      if (SelfVolume->VolLabel.notEmpty()  &&  SelfVolume->VolLabel[0] != L'#') {
        Text = SWPrintf("%ls, booted from %ls %ls", gFirmwareRevision, SelfVolume->VolLabel.wc_str(), self.getCloverDirFullPath().wc_str());
      }
      if (Text.isEmpty()) {
        Text = SWPrintf("%ls %ls", gFirmwareRevision, /*SelfVolume->VolName.wc_str(),*/ self.getCloverDirFullPath().wc_str());
      }
      break;

Change line 178 as

Text = SWPrintf("%ls %ls %ls", gFirmwareRevision, SelfVolume->VolName.wc_str(), self.getCloverDirFullPath().wc_str());

to see back the volume name.


Thanks a lot @Slice my goal is that in this way, the name of the volume appears only if it exists (a name). Otherwise nothing appears.

On 4/25/2023 at 12:39 AM, LAbyOne said:

little advertising :)

Posted New Release

Clover Suite Builder  2.0

 

Can You PLEASE Supply a Zipped Version As The 7z Version Won't Run Here, It Errors Out With Move To Bin Bla Bla

3 minutes ago, STLVNUB said:

Can You PLEASE Supply a Zipped Version As The 7z Version Won't Run Here, It Errors Out With Move To Bin Bla Bla

No problems,

as i'm actually going to post an updated release.

check back in a few minutes..

eventually you can also find it here as dmg file

7 minutes ago, LAbyOne said:

No problems,

as i'm actually going to post an updated release.

check back in a few minutes..

eventually you can also find it here as dmg file

Thanks And Good Job Too

 

edit: Same problem there, I Have Serious Issues here, Maybe Gatekeeper needs Disabling

Edited by STLVNUB

Heads-up guys  v2.0.2

 

5 minutes ago, STLVNUB said:

Thanks And Good Job Too

 

edit: Same problem there, I Have Serious Issues here, Maybe Gatekeeper needs Disabling

Probably, but normally once you allow the browser to download files from different locations you shouldn't have any issue at all, later on.

 

3 minutes ago, LAbyOne said:

Heads-up guys  v2.0.2

 

Probably, but normally once you allow the browser to download files from different locations you shouldn't have any issue at all, later on.

 

it did get further, still won't run at the moment it is open

but doesn't show itself, trying to delete it say it is open

knocks head on brick wall, I've a lot of issues with my setup

×
×
  • Create New...