Jump to content

813 posts in this topic

Recommended Posts

Advertisement
Posted (edited)
22 minutes ago, PMheart said:

Thanks a lot!

 

Looks like the logic has slightly been changed, please try this kernel patch (temporarily) with Clover KernelToPatch:

 

find

00 85 C0 0F 84 87 00 00 00 49

 

repl

00 85 C0 90 90 90 90 90 90 49

 

Hopefully Clover kext injection works after patching, if it does, I will update the source.

 

Seems to be working. Thank you very much for this. :)

 

However, on my RX 580 (and most likely other AMD cards, as well), it's booting to black screen... Including with WEG (maybe that needs an update, as well)?

The old kext to patch method (disable AGDP) doesn't work anymore either.

 

But...it's not getting stuck anymore. So...my guess is that your patch worked. But now we need a new patch for graphics.

Edited by arsradu

Share this post


Link to post
Share on other sites

@CMMChris @Moviemakergr I think your Graphics or something alike is the actual thing that should be to blame. My patch should be fine I guess.

 

@arsradu Of course, Lilu and its plugins haven't got updated, which will be unloaded by default on this unsupported Darwin version, try `-lilubetaall`.

 

Ah, Vit has just committed: https://github.com/acidanthera/Lilu/commit/2da161ee9959320f25607cf20767f690ac720caf

Share this post


Link to post
Share on other sites

Yup, Vega and Radeon VII don't seem to work yet for some reason.

Share this post


Link to post
Share on other sites
Posted (edited)
16 minutes ago, PMheart said:

 

@arsradu Of course, Lilu and its plugins haven't got updated, which will be unloaded by default on this unsupported Darwin version, try `-lilubetaall`.

 

Ah, Vit has just committed: https://github.com/acidanthera/Lilu/commit/2da161ee9959320f25607cf20767f690ac720caf

 

Yep, that's what I thought. :) 

 

-lilubetaall flag still works apparently. With the current version.

 

Catalina is currently installing.

 

THANK YOU!

Edited by arsradu

Share this post


Link to post
Share on other sites
Posted (edited)

Does the kernel seem to run on the same CPUs as the Mojave one?

This information that Catalina shell run into read-only partition seems the most puzzling to me. An OS needs to use swap, temporary files and so on to run properly, on a read only volume that is impossible. Perhaps the OS will be splitted in two: the kernel and the basic functions on a read only partition, and the rest on another, where temporary files and swap will be possible. If so, Clover shall need to be modified pretty big. Does the OS still support OpenGl or it is Metal only?

Can anyone who managed to install it properly confirm or disprove thoose ?

Perhaps for those with graphics issues a patch for unsupported Macs like the ones developed into the Macrumors board shall save the day, like the dosdude1 patch that allowed me to run Mojave on an older, non-Metal GPU. 

Edited by Vyzantion

Share this post


Link to post
Share on other sites
Posted (edited)

EDIT: Merged in Clover r4938.

 

OK, and this is the binary to test (for kext injection under 10.15):

Clover-4937-1015-kext-injection.zip (Please DO NOT use this now!)

 

 

@Slice This is the basic diff, please review it, I am too lazy to post it again on Clover thread ;):

Index: rEFIt_UEFI/Platform/Settings.c
===================================================================
--- rEFIt_UEFI/Platform/Settings.c	(revision 4937)
+++ rEFIt_UEFI/Platform/Settings.c	(working copy)
@@ -6373,6 +6373,8 @@
           if (Prop != NULL && Prop->string != NULL && Prop->string[0] != '\0') {
             if (AsciiStrStr (Prop->string, "Install%20OS%20X%20Mavericks.app")) {
               OSVersion = AllocateCopyPool (5, "10.9");
+            } else if (AsciiStrStr (Prop->string, "Install%20macOS%20Catalina") || AsciiStrStr (Prop->string, "Install%20macOS%2010.15%20Beta")) { // FIXME: Remove Beta after final release
+              OSVersion = AllocateCopyPool (5, "10.15");
             } else if (AsciiStrStr (Prop->string, "Install%20macOS%20Mojave") || AsciiStrStr (Prop->string, "Install%20macOS%2010.14")) {
               OSVersion = AllocateCopyPool (6, "10.14");
             } else if (AsciiStrStr (Prop->string, "Install%20macOS%20High%20Sierra") || AsciiStrStr (Prop->string, "Install%20macOS%2010.13")) {
Index: rEFIt_UEFI/Platform/kext_inject.c
===================================================================
--- rEFIt_UEFI/Platform/kext_inject.c	(revision 4937)
+++ rEFIt_UEFI/Platform/kext_inject.c	(working copy)
@@ -623,8 +623,8 @@
 UINT8   KBEMLDebugSearchEXT[]    = { 0xE8, 0x3E, 0x00, 0x00, 0x00, 0xE9, 0x09, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x7D, 0xE0, 0xE8 };
 UINT8   KBEMLDebugReplaceEXT[]   = { 0xE8, 0x3E, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90, 0x48, 0x8B, 0x7D, 0xE0, 0xE8 };
 
-// Yosemite
-// PMheart: Universal for 10.10 - 10.13, maybe still ok for furture ver
+// Yosemite - High Sierra
+// PMheart: Universal for 10.10 - 10.13
 UINT8   KBEYosECSieHighSearchEXT[]  = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8 };
 UINT8   KBEYosECSieHighReplaceEXT[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0x90, 0x90, 0xE8 };
 
@@ -659,28 +659,35 @@
 UINT8   KBESieDebugSearchSIP[]   = { 0x31, 0xC9, 0x39, 0xC1, 0x0F, 0x85, 0x3C, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x85 };
 UINT8   KBESieDebugReplaceSIP[]  = { 0x31, 0xC9, 0x39, 0xC1, 0xEB, 0x80, 0x90, 0x90, 0x90, 0x90, 0x48, 0x8B, 0x85 };
 
-// Mojave (EXT)
-// PMheart: checked  KBEMoja*EXT
-// Need to pair with KBEHighSieMoja*SIP
-UINT8   KBEMojaSearchEXT[]       = { 0xE8, 0xAF, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8 };
-UINT8   KBEMojaReplaceEXT[]      = { 0xE8, 0xAF, 0x00, 0x00, 0x00, 0x90, 0x90, 0xE8 };
+// Mojave / Catalina (EXT)
+// PMheart: checked  KBEMojaCata*EXT
+// Need to pair with KBEHighSieMoja*SIP (10.13 / 10.14) / KBECata*SIP (10.15)
+UINT8   KBEMojaCataSearchEXT[]       = { 0xE8, 0xAF, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8 };
+UINT8   KBEMojaCataReplaceEXT[]      = { 0xE8, 0xAF, 0x00, 0x00, 0x00, 0x90, 0x90, 0xE8 };
 
 // High Sierra / Mojave 10.14 - 10.14.3 (SIP)
 // PMheart: for 10.14.4+, see KBEMoja4SearchSIP and KBEMoja4ReplaceSIP below
 // PMheart: checked KBEHighSieMoja3*SIP
-// Need to pair with KBEMoja*EXT
+// Need to pair with KBEMojaCata*EXT
 UINT8   KBEHighSieMoja3SearchSIP[]    = { 0xC3, 0x48, 0x85, 0xDB, 0x74, 0x69, 0x48, 0x8B, 0x03, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 };
 UINT8   KBEHighSieMoja3ReplaceSIP[]   = { 0xC3, 0x48, 0x85, 0xDB, 0xEB, 0x12, 0x48, 0x8B, 0x03, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 };
 
 // Mojave 10.14.4+ (SIP)
 // PMheart: checked KBEMoja4*SIP
-// Need to pair with KBEMoja*EXT
+// Need to pair with KBEMojaCata*EXT
 UINT8   KBEMoja4SearchSIP[]           = { 0x48, 0x85, 0xC0, 0x74, 0x6C, 0x48, 0x89, 0xC3, 0x48, 0x8B, 0x00, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 };
 UINT8   KBEMoja4ReplaceSIP[]          = { 0x48, 0x85, 0xC0, 0xEB, 0x15, 0x48, 0x89, 0xC3, 0x48, 0x8B, 0x00, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 };
 
+// Catalina (SIP)
+// PMheart: checked
+// Need to pair with KBEMojaCata*EXT
+UINT8   KBECataSearchSIP[]            = { 0x00, 0x85, 0xC0, 0x0F, 0x84, 0x87, 0x00, 0x00, 0x00, 0x49 };
+UINT8   KBECataReplaceSIP[]           = { 0x00, 0x85, 0xC0, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x49 };
+
 // Mojave 10.14 - 10.14.3
 // Avoid race condition in OSKext::removeKextBootstrap when using booter kexts without keepsyms=1.
 // by vit9696
+// Need to pair with KBEMojaCata*EXT and KBEHighSieMoja3*SIP
 UINT8   KBEMoja3SearchKxldUnmap[]     = { 0x00, 0x0F, 0x85, 0xB2, 0x01, 0x00, 0x00, 0x48 };
 UINT8   KBEMoja3ReplaceKxldUnmap[]    = { 0x00, 0x90, 0xE9, 0xB2, 0x01, 0x00, 0x00, 0x48 };
 
@@ -687,9 +694,18 @@
 // Mojave 10.14.4+
 // Avoid race condition in OSKext::removeKextBootstrap when using booter kexts without keepsyms=1.
 // by PMheart, based on vit9696's work
+// Need to pair with KBEMojaCata*EXT and KBEMoja4*SIP
 UINT8   KBEMoja4SearchKxldUnmap[]     = { 0x00, 0x0F, 0x85, 0xB1, 0x01, 0x00, 0x00, 0x48 };
 UINT8   KBEMoja4ReplaceKxldUnmap[]    = { 0x00, 0x90, 0xE9, 0xB1, 0x01, 0x00, 0x00, 0x48 };
 
+// Catalina
+// Avoid race condition in OSKext::removeKextBootstrap when using booter kexts without keepsyms=1.
+// by PMheart, based on vit9696's work
+// Need to pair with KBEMojaCata*EXT and KBECata*SIP
+UINT8   KBECataSearchKxldUnmap[]      = { 0x00, 0x0F, 0x85, 0x7E, 0x01, 0x00, 0x00, 0x48 };
+UINT8   KBECataReplaceKxldUnmap[]     = { 0x00, 0x90, 0xE9, 0x7E, 0x01, 0x00, 0x00, 0x48 };
+
+
 //
 // We can not rely on OSVersion global variable for OS version detection,
 // since in some cases it is not correct (install of ML from Lion, for example).
@@ -718,6 +734,7 @@
   UINTN   NumHighSieMoja3SIP = 0; // 10.13.X - 10.14.3
   UINTN   NumMojaEXT         = 0; // 10.14.X
   UINTN   NumMoja4SIP        = 0; // 10.14.4+
+  UINTN   NumCataSIP         = 0; // 10.15
 
 
   DBG_RT(Entry, "\nPatching kernel for injected kexts...\n");
@@ -734,8 +751,9 @@
     NumSieSIP           = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBESieSearchSIP, sizeof(KBESieSearchSIP));
     NumSieDebugSIP      = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBESieDebugSearchSIP, sizeof(KBESieDebugSearchSIP));
     NumHighSieMoja3SIP  = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEHighSieMoja3SearchSIP, sizeof(KBEHighSieMoja3SearchSIP));
-    NumMojaEXT          = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMojaSearchEXT, sizeof(KBEMojaSearchEXT));   // general EXT patch, for all 10.14.x
-    NumMoja4SIP         = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMoja4SearchSIP, sizeof(KBEMoja4SearchSIP)); // SIP patch, ONLY for 10.14.4+
+    NumMojaEXT          = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMojaCataSearchEXT, sizeof(KBEMojaCataSearchEXT));   // general EXT patch, for all 10.14.x
+    NumMoja4SIP         = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMoja4SearchSIP, sizeof(KBEMoja4SearchSIP));         // SIP patch, ONLY for 10.14.4+
+    NumCataSIP          = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBECataSearchSIP, sizeof(KBECataSearchSIP));
   } else {
     NumSnow_i386_EXT = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBESnowSearchEXT_i386, sizeof(KBESnowSearchEXT_i386));
     NumLion_i386_EXT = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBELionSearchEXT_i386, sizeof(KBELionSearchEXT_i386));
@@ -750,9 +768,14 @@
   }
 
   // X64
-  if (NumMojaEXT == 1) {
+  if (NumCataSIP == 1) {
+    Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMojaCataSearchEXT, sizeof(KBEMojaCataSearchEXT), KBEMojaCataReplaceEXT, 1) +
+          SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBECataSearchSIP, sizeof(KBECataSearchSIP), KBECataReplaceSIP, 1) +
+          SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBECataSearchKxldUnmap, sizeof(KBECataSearchKxldUnmap), KBECataReplaceKxldUnmap, 1);
+    DBG_RT(Entry, "==> kernel Catalina: %d replaces done.\n", Num);
+  } else if (NumMojaEXT == 1) {
     // apply EXT patch first
-    Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMojaSearchEXT, sizeof(KBEMojaSearchEXT), KBEMojaReplaceEXT, 1);
+    Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMojaCataSearchEXT, sizeof(KBEMojaCataSearchEXT), KBEMojaCataReplaceEXT, 1);
     // then apply corresponding patches based on what we found
     if (NumMoja4SIP == 1) {
       // firstly, try to patch 10.14.4+
Index: rEFIt_UEFI/refit/main.c
===================================================================
--- rEFIt_UEFI/refit/main.c	(revision 4937)
+++ rEFIt_UEFI/refit/main.c	(working copy)
@@ -635,7 +635,8 @@
               AsciiStrnCmp(InstallerVersion, "10.11", 5) &&
               AsciiStrnCmp(InstallerVersion, "10.12", 5) &&
               AsciiStrnCmp(InstallerVersion, "10.13", 5) &&
-              AsciiStrnCmp(InstallerVersion, "10.14", 5)) {   
+              AsciiStrnCmp(InstallerVersion, "10.14", 5) &&
+              AsciiStrnCmp(InstallerVersion, "10.15", 5)) {   
             InstallerVersion = NULL; // flag known version was not found
           }
           if (InstallerVersion != NULL) { // known version was found in image

 

Thanks!

Edited by PMheart

Share this post


Link to post
Share on other sites
13 minutes ago, CMMChris said:

Yup, Vega and Radeon VII don't seem to work yet for some reason.

 

Hi Chris! :) Try to use Lilu & WhateverGreen kexts and add -lilubetaall boot flag. It should help. :)

 

Also, of course, add the kernel patch mentioned by PMHeart above.

Share this post


Link to post
Share on other sites
Posted (edited)
2 minutes ago, Riley Freeman said:

Here's Lilu 1.3.7. Built on Sierra.

 

Untested as I'm still downloading Catalina.

 

1.3.7 (RELEASE).zip

Thanks !

Theres also a new commit for WhateverGreen.kext, can you please upload a build kext from that as well.

Edited by "Sniki"

Share this post


Link to post
Share on other sites
10 minutes ago, PMheart said:

OK, and this is the binary to test (for kext injection under 10.15):

Clover-4937-1015-kext-injection.zip

 

 

@Slice This is the basic diff, please review it, I am too lazy to post it again on Clover thread ;):


Index: rEFIt_UEFI/Platform/Settings.c
===================================================================
--- rEFIt_UEFI/Platform/Settings.c	(revision 4937)
+++ rEFIt_UEFI/Platform/Settings.c	(working copy)
@@ -6373,6 +6373,8 @@
           if (Prop != NULL && Prop->string != NULL && Prop->string[0] != '\0') {
             if (AsciiStrStr (Prop->string, "Install%20OS%20X%20Mavericks.app")) {
               OSVersion = AllocateCopyPool (5, "10.9");
+            } else if (AsciiStrStr (Prop->string, "Install%20macOS%20Catalina") || AsciiStrStr (Prop->string, "Install%20macOS%2010.15%20Beta")) { // FIXME: Remove Beta after final release
+              OSVersion = AllocateCopyPool (5, "10.15");
             } else if (AsciiStrStr (Prop->string, "Install%20macOS%20Mojave") || AsciiStrStr (Prop->string, "Install%20macOS%2010.14")) {
               OSVersion = AllocateCopyPool (6, "10.14");
             } else if (AsciiStrStr (Prop->string, "Install%20macOS%20High%20Sierra") || AsciiStrStr (Prop->string, "Install%20macOS%2010.13")) {
Index: rEFIt_UEFI/Platform/kext_inject.c
===================================================================
--- rEFIt_UEFI/Platform/kext_inject.c	(revision 4937)
+++ rEFIt_UEFI/Platform/kext_inject.c	(working copy)
@@ -623,8 +623,8 @@
 UINT8   KBEMLDebugSearchEXT[]    = { 0xE8, 0x3E, 0x00, 0x00, 0x00, 0xE9, 0x09, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x7D, 0xE0, 0xE8 };
 UINT8   KBEMLDebugReplaceEXT[]   = { 0xE8, 0x3E, 0x00, 0x00, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90, 0x48, 0x8B, 0x7D, 0xE0, 0xE8 };
 
-// Yosemite
-// PMheart: Universal for 10.10 - 10.13, maybe still ok for furture ver
+// Yosemite - High Sierra
+// PMheart: Universal for 10.10 - 10.13
 UINT8   KBEYosECSieHighSearchEXT[]  = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8 };
 UINT8   KBEYosECSieHighReplaceEXT[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0x90, 0x90, 0xE8 };
 
@@ -659,28 +659,35 @@
 UINT8   KBESieDebugSearchSIP[]   = { 0x31, 0xC9, 0x39, 0xC1, 0x0F, 0x85, 0x3C, 0x00, 0x00, 0x00, 0x48, 0x8B, 0x85 };
 UINT8   KBESieDebugReplaceSIP[]  = { 0x31, 0xC9, 0x39, 0xC1, 0xEB, 0x80, 0x90, 0x90, 0x90, 0x90, 0x48, 0x8B, 0x85 };
 
-// Mojave (EXT)
-// PMheart: checked  KBEMoja*EXT
-// Need to pair with KBEHighSieMoja*SIP
-UINT8   KBEMojaSearchEXT[]       = { 0xE8, 0xAF, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8 };
-UINT8   KBEMojaReplaceEXT[]      = { 0xE8, 0xAF, 0x00, 0x00, 0x00, 0x90, 0x90, 0xE8 };
+// Mojave / Catalina (EXT)
+// PMheart: checked  KBEMojaCata*EXT
+// Need to pair with KBEHighSieMoja*SIP (10.13 / 10.14) / KBECata*SIP (10.15)
+UINT8   KBEMojaCataSearchEXT[]       = { 0xE8, 0xAF, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8 };
+UINT8   KBEMojaCataReplaceEXT[]      = { 0xE8, 0xAF, 0x00, 0x00, 0x00, 0x90, 0x90, 0xE8 };
 
 // High Sierra / Mojave 10.14 - 10.14.3 (SIP)
 // PMheart: for 10.14.4+, see KBEMoja4SearchSIP and KBEMoja4ReplaceSIP below
 // PMheart: checked KBEHighSieMoja3*SIP
-// Need to pair with KBEMoja*EXT
+// Need to pair with KBEMojaCata*EXT
 UINT8   KBEHighSieMoja3SearchSIP[]    = { 0xC3, 0x48, 0x85, 0xDB, 0x74, 0x69, 0x48, 0x8B, 0x03, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 };
 UINT8   KBEHighSieMoja3ReplaceSIP[]   = { 0xC3, 0x48, 0x85, 0xDB, 0xEB, 0x12, 0x48, 0x8B, 0x03, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 };
 
 // Mojave 10.14.4+ (SIP)
 // PMheart: checked KBEMoja4*SIP
-// Need to pair with KBEMoja*EXT
+// Need to pair with KBEMojaCata*EXT
 UINT8   KBEMoja4SearchSIP[]           = { 0x48, 0x85, 0xC0, 0x74, 0x6C, 0x48, 0x89, 0xC3, 0x48, 0x8B, 0x00, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 };
 UINT8   KBEMoja4ReplaceSIP[]          = { 0x48, 0x85, 0xC0, 0xEB, 0x15, 0x48, 0x89, 0xC3, 0x48, 0x8B, 0x00, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 };
 
+// Catalina (SIP)
+// PMheart: checked
+// Need to pair with KBEMojaCata*EXT
+UINT8   KBECataSearchSIP[]            = { 0x00, 0x85, 0xC0, 0x0F, 0x84, 0x87, 0x00, 0x00, 0x00, 0x49 };
+UINT8   KBECataReplaceSIP[]           = { 0x00, 0x85, 0xC0, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x49 };
+
 // Mojave 10.14 - 10.14.3
 // Avoid race condition in OSKext::removeKextBootstrap when using booter kexts without keepsyms=1.
 // by vit9696
+// Need to pair with KBEMojaCata*EXT and KBEHighSieMoja3*SIP
 UINT8   KBEMoja3SearchKxldUnmap[]     = { 0x00, 0x0F, 0x85, 0xB2, 0x01, 0x00, 0x00, 0x48 };
 UINT8   KBEMoja3ReplaceKxldUnmap[]    = { 0x00, 0x90, 0xE9, 0xB2, 0x01, 0x00, 0x00, 0x48 };
 
@@ -687,9 +694,18 @@
 // Mojave 10.14.4+
 // Avoid race condition in OSKext::removeKextBootstrap when using booter kexts without keepsyms=1.
 // by PMheart, based on vit9696's work
+// Need to pair with KBEMojaCata*EXT and KBEMoja4*SIP
 UINT8   KBEMoja4SearchKxldUnmap[]     = { 0x00, 0x0F, 0x85, 0xB1, 0x01, 0x00, 0x00, 0x48 };
 UINT8   KBEMoja4ReplaceKxldUnmap[]    = { 0x00, 0x90, 0xE9, 0xB1, 0x01, 0x00, 0x00, 0x48 };
 
+// Catalina
+// Avoid race condition in OSKext::removeKextBootstrap when using booter kexts without keepsyms=1.
+// by PMheart, based on vit9696's work
+// Need to pair with KBEMojaCata*EXT and KBECata*SIP
+UINT8   KBECataSearchKxldUnmap[]      = { 0x00, 0x0F, 0x85, 0x7E, 0x01, 0x00, 0x00, 0x48 };
+UINT8   KBECataReplaceKxldUnmap[]     = { 0x00, 0x90, 0xE9, 0x7E, 0x01, 0x00, 0x00, 0x48 };
+
+
 //
 // We can not rely on OSVersion global variable for OS version detection,
 // since in some cases it is not correct (install of ML from Lion, for example).
@@ -718,6 +734,7 @@
   UINTN   NumHighSieMoja3SIP = 0; // 10.13.X - 10.14.3
   UINTN   NumMojaEXT         = 0; // 10.14.X
   UINTN   NumMoja4SIP        = 0; // 10.14.4+
+  UINTN   NumCataSIP         = 0; // 10.15
 
 
   DBG_RT(Entry, "\nPatching kernel for injected kexts...\n");
@@ -734,8 +751,9 @@
     NumSieSIP           = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBESieSearchSIP, sizeof(KBESieSearchSIP));
     NumSieDebugSIP      = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBESieDebugSearchSIP, sizeof(KBESieDebugSearchSIP));
     NumHighSieMoja3SIP  = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEHighSieMoja3SearchSIP, sizeof(KBEHighSieMoja3SearchSIP));
-    NumMojaEXT          = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMojaSearchEXT, sizeof(KBEMojaSearchEXT));   // general EXT patch, for all 10.14.x
-    NumMoja4SIP         = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMoja4SearchSIP, sizeof(KBEMoja4SearchSIP)); // SIP patch, ONLY for 10.14.4+
+    NumMojaEXT          = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMojaCataSearchEXT, sizeof(KBEMojaCataSearchEXT));   // general EXT patch, for all 10.14.x
+    NumMoja4SIP         = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBEMoja4SearchSIP, sizeof(KBEMoja4SearchSIP));         // SIP patch, ONLY for 10.14.4+
+    NumCataSIP          = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBECataSearchSIP, sizeof(KBECataSearchSIP));
   } else {
     NumSnow_i386_EXT = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBESnowSearchEXT_i386, sizeof(KBESnowSearchEXT_i386));
     NumLion_i386_EXT = SearchAndCount(Kernel, KERNEL_MAX_SIZE, KBELionSearchEXT_i386, sizeof(KBELionSearchEXT_i386));
@@ -750,9 +768,14 @@
   }
 
   // X64
-  if (NumMojaEXT == 1) {
+  if (NumCataSIP == 1) {
+    Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMojaCataSearchEXT, sizeof(KBEMojaCataSearchEXT), KBEMojaCataReplaceEXT, 1) +
+          SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBECataSearchSIP, sizeof(KBECataSearchSIP), KBECataReplaceSIP, 1) +
+          SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBECataSearchKxldUnmap, sizeof(KBECataSearchKxldUnmap), KBECataReplaceKxldUnmap, 1);
+    DBG_RT(Entry, "==> kernel Catalina: %d replaces done.\n", Num);
+  } else if (NumMojaEXT == 1) {
     // apply EXT patch first
-    Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMojaSearchEXT, sizeof(KBEMojaSearchEXT), KBEMojaReplaceEXT, 1);
+    Num = SearchAndReplace(Kernel, KERNEL_MAX_SIZE, KBEMojaCataSearchEXT, sizeof(KBEMojaCataSearchEXT), KBEMojaCataReplaceEXT, 1);
     // then apply corresponding patches based on what we found
     if (NumMoja4SIP == 1) {
       // firstly, try to patch 10.14.4+
Index: rEFIt_UEFI/refit/main.c
===================================================================
--- rEFIt_UEFI/refit/main.c	(revision 4937)
+++ rEFIt_UEFI/refit/main.c	(working copy)
@@ -635,7 +635,8 @@
               AsciiStrnCmp(InstallerVersion, "10.11", 5) &&
               AsciiStrnCmp(InstallerVersion, "10.12", 5) &&
               AsciiStrnCmp(InstallerVersion, "10.13", 5) &&
-              AsciiStrnCmp(InstallerVersion, "10.14", 5)) {   
+              AsciiStrnCmp(InstallerVersion, "10.14", 5) &&
+              AsciiStrnCmp(InstallerVersion, "10.15", 5)) {   
             InstallerVersion = NULL; // flag known version was not found
           }
           if (InstallerVersion != NULL) { // known version was found in image

 

Thanks!

i am on installation screen with that clover and GTX 760 :):)

Share this post


Link to post
Share on other sites
Posted (edited)

EDIT: Sorry! I am extremely stupid! Please see 

for corrections!

 

Alright, so this would be the fix for FakeCPUID under 10.15 (But sorry, I cannot test!):

--- orig-kernel_patcher.c	2019-06-04 05:26:39.000000000 +0800
+++ patched.c	2019-06-04 05:24:43.000000000 +0800
@@ -483,6 +483,18 @@
 STATIC UINT8 HSieMojSearchModel[]   = {0x89, 0xc1, 0xc0, 0xe9, 0x04};
 // Need to use YosECSieSearchExt, LionReplaceModel
 
+// Catalina
+/*
+ This patch searches
+  mov eax, r12   ||   mov eax, r12
+  shr al, 0x4    ||   shr eax, 0x10
+ and replaces to
+  mov eax, FakeModel || mov eax, FakeExt
+  nop                || nop
+*/
+STATIC UINT8 CataSearchModel[]      = {0x44, 0x89, 0xE0, 0xC0, 0xE8, 0x04};
+STATIC UINT8 CataSearchExt[]        = {0x44, 0x89, 0xE0, 0xC1, 0xE8, 0x10};
+STATIC UINT8 CataReplaceMovEax[]    = {0xB8, 0x00, 0x00, 0x00, 0x00, 0x90}; // mov eax, val || nop
 
 BOOLEAN PatchCPUID(UINT8* bytes, UINT8* Location, INT32 LenLoc,
                    UINT8* Search4, UINT8* Search10, UINT8* ReplaceModel,
@@ -552,14 +564,22 @@
     return;
   }
 // High Sierra/Mojave patterns
-// Sherlocks: 10.13/10.14.DP1
+// Sherlocks: 10.13/10.14
   DBG_RT(Entry, "CPUID: try High Sierra/Mojave patch...\n");
-  if (PatchCPUID(kernelData, &StrMsr8b[0], sizeof(StrMsr8b), &HSieMojSearchModel[0],
+  if (PatchCPUID(kernelData, &StrMsr8b[0], sizeof(StrMsr8b), &CataSearchModel[0],
                  &YosECSieSearchExt[0], &LionReplaceModel[0], &LionReplaceModel[0],
                  sizeof(HSieMojSearchModel), Entry)) {
     DBG_RT(Entry, "...done!\n");
     return;
   }
+// Catalina patterns
+// PMheart: 10.15.DP1
+  DBG_RT(Entry, "CPUID: try Catalina patch...\n");
+  if (PatchCPUID(kernelData, &StrMsr8b[0], sizeof(StrMsr8b), &HSieMojSearchModel[0],
+                 &CataSearchExt[0], &CataReplaceMovEax[0], &CataReplaceMovEax[0],
+                 sizeof(CataSearchModel), Entry)) {
+    return;
+  }
 }
 
 // new way by RehabMan 2017-08-13

@Slice Please review this too, thanks!

Edited by PMheart

Share this post


Link to post
Share on other sites
Posted (edited)
36 minutes ago, arsradu said:

 

Hi Chris! :) Try to use Lilu & WhateverGreen kexts and add -lilubetaall boot flag. It should help. :)

 

Also, of course, add the kernel patch mentioned by PMHeart above.

Thanks but not working with the GT 710 

I will try with my laptop HP ProBook Intel HD 4000 :moil: :lol:

 

 EDIT *********

OK Work with the clover files here

 

Thanks to @PMheart

https://www.insanelymac.com/forum/applications/core/interface/file/attachment.php?id=327531

 

I on Installing now :D

Edited by chris1111

Share this post


Link to post
Share on other sites
Posted (edited)

hi...

@chris1111 ..is the clover special edition 4937

Catalina ready?

thank you..

c.frio

Edited by C.Frio

Share this post


Link to post
Share on other sites
Posted (edited)
11 minutes ago, CMMChris said:

Finally, up and running as well.

61914346_809999472704325_5996827312283189248_n.png

 

Well done!

 

Got mine working as well. :)

1086533023_Screenshot2019-06-04at00_45_02.thumb.png.b686a9cd20a8891cdcb7647a435fb5bb.png

Edited by arsradu

Share this post


Link to post
Share on other sites

Up and running but...

Catalina deleted a folder on main \ with name "tools"..

Looks not working some application like iDvd , iPhoto , TextWrangler etc..

That is the first conclusions

Fullscreen_4_6_19__12_44_am.jpg

Share this post


Link to post
Share on other sites
1 minute ago, "Sniki" said:

Theres also a new commit for WhateverGreen.kext, can you please upload a build kext from that as well.

 

I can't build it. Keeps complaining about missing headers even though I've copied them across from Lilu. I'm doing something wrong but I don't know what. Lilu was straightforward.

 

 

Share this post


Link to post
Share on other sites

Hopefully this would be the changes for XCPM, I don't want to duplicate the usage again, please see my old posts for 10.13 and 10.14 as well:

https://www.insanelymac.com/forum/topic/334898-pre-release-macos-mojave/?page=2&tab=comments#comment-2616660 (10.14)

 

 

https://www.insanelymac.com/forum/topic/324194-pre-release-macos-high-sierra/?page=3#entry2435885 (10.13)

 

And these are the new patches:

XCPM patches 10.15

_cpuid_set_info
Find: 72 3c d0 77 50 0f b6 c0
Repl: xx 3c d0 77 50 0f b6 c0

_xcpm_bootstrap
Find: 8D 43 C4 3C 22 77 22
Repl: 8D 43 xx 3C 22 77 22

_xcpm_SMT_scope_msrs #1
Find: BE060000005DE908000000
Repl: BE060000005DC390909090

_xcpm_SMT_scope_msrs #2
Find: 31 D2 E8 3E FD FF FF
Repl: 31 D2 90 90 90 90 90

_xcpm_core_scope_msrs
Find: 31 D2 E8 51 FD FF FF
Repl: 31 D2 90 90 90 90 90

_xcpm_pkg_scope_msrs
Find: 31 D2 E8 74 FD FF FF
Repl: 31 D2 90 90 90 90 90

disable all msrs above
Find: BE 06 00 00 00 5D E9 08 00 00 00 0F 1F 84 00 00 00 00 00 55
Repl: BE 06 00 00 00 5D E9 08 00 00 00 0F 1F 84 00 00 00 00 00 C3

Performance patch (credit to @vit9696)
Find: C1E3084863D389D048C1EA20
Repl: C1E308B800FF000031D29090

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By crazybirdy
      Patched OSInstaller.framework to allow macOS 10.15 installation on MBR HFS+ partition.
       
      Please read Readme-10.15.pdf first.
       
      How to finish the Catalina installation.
      1. Use EasyMBR-Installer1015 to make USB Catalina Installer.
      2. Boot to USB Catalina Installer, open Utilities -> Disk Utility, format as MBR HFS+. 
          Install Catalina to blank MBR HFS+ "Target" partition.
      3. Boot to USB Catalina Installer, open Utilities -> Terminal, run the script command:
          copytempdata
      4. Boot to "Target" MBR HFS+ partition on single user mode (-s), run the script command:
          hfsupdatecache
      5. Reboot to "Target" MBR HFS+ partition, setup user name and login, finish the installation.
       
      Also, you need to setup Clover as BooterConfig=0x28, CsrActiveConfig=0x67
       
      ----------------------------------------------------------------------------------------------
      List of known issues:
      1. iCloud Drive need APFS to work.
      2. Some app-pkg-installers can't install to HFS+, but install to APFS fine.
      ----------------------------------------------------------------------------------------------
       
      What is this patched OSInstaller doing?
      1. Pass the MBR check, allow macOS 10.15 installation on MBR partition.
      2. Pass the Firmware check, bypass the error of "An error occurred while verifying firmware".
      3. Pass auto-convert to APFS , "ConvertToAPFS=false" is no longer worked with 10.15.
      4. This MBR-Manual-Method will never convert to APFS, and will always install as HFS+ partition.
      5. This MBR-Manual-Method works with both MBR HFS+ and GPT HFS+ partition (GPT+recovery).
      No longer need to set new SMbiosversion, FirmwareFeatures, and FirmwareFeaturesMask with this MBR-patch.
       
      What's the difference between createinstallmedia method, MBR-Manual-Method, and MBR-Automatic-Method?
      As the following....
      1. createinstallmedia method,
          needs stage 1, stage 2 installation process, which is worked with GUID partition only, always convert to APFS format.
      2. MBR-Manual-Method (same as 10.12),
          install via stage 2 manually, which is worked with both MBR HFS+ and GUID HFS+, will never convert the partition format.
          We can manually format as MBR HFS+ or GPT HFS+ on installation screen like as 10.12.
          We can manually select MBR HFS+ partition to install 10.13, 10.14, 10.15 on installation screen now.
          Needn't to update the MBR-Manual-Method files, it will still work on 10.13, 10.14, 10.15 future versions, I think so.
          It can be installed as Fresh installation on formated blank partition only, but can't be installed as update from previous version.
      3. MBR-Automatic-Method (new for 10.13+),
          End of MBR and HFS+, there is no more MBR HFS+ patch available for 10.15 native OSInstaller.

      How to make 10.15 installer for MBR (MBR-Manual-Method)?
      Just use EasyMBR-Installer1015 to make installer, it works with both MBR and GPT.
      Read HowTo inside the dmg first, same as 10.12.
      Read HowTo Q/A Q4. How to patch to work with CPU SSE4.1 only for Mojave, Catalina?
      Read HowTo Q/A Q6. How to download the full installer app via swscan.apple.com, instead of App Store?
       
      And, need a SMBIOS supported with /System/Library/CoreServices/PlatformSupport.plist.
       

       
      Q6. How to download the full installer app via swscan.apple.com, instead of App Store?
      A6. Some people download installer app from App Store, and get only 18 MB size, not the complete installer app (5.68 GB). You should boot to 10.12, or 10.13 to download it again from App Store, or use script Q6-DownloadFullApp/installScript_fullapp to download the full installer app via swscan.apple.com.
       

       
    • By PippoX0
      Working in Progress
       
      I want  that my Catalina  runs smooth
       
      I run Catalina beta on MBr HFS+ (only one partition)
       
      So what we can do ?
       
      0. I have gained my Intel HD3000 QE/CI working
         - i have used Intel HD3000 High Sierra Kexts
          Done
       
      1. Reduce size
        -  I have used monolingual and I have deleted all unwanted languages
        - i have deleted unwanted Speech voices
        - i have delete unwanted Fonts ( Japanese , Chinese, Emoji ...) 
        - i have delete unwanted Templates ( again speech voices)
        My Cat OS have been shrinked  from 16 Gb to 9,96 Gb
        Done
       
      2. Disable all unwanted Deamons and Agents
        -  I'm looking for disable all Debug deamons or Agents running which are slowing my Os
         Still seeking ....
       
      What's else ?
       
       
       
       
    • By fusion71au
      This is a brief guide on how to create a vanilla El Capitan (also same process for Sierra) OS X Installer USB with an updated prelinked kernel containing FakeSMC.

      It is tailored for those users who want to understand the “nuts and bolts” of how to create an installer and also to help brush up on their terminal skills (rather than have one made for them with the numerous automated “tools” available or even Apple’s createinstallmedia) :
       
       
      Specifically, it is also a “Proof of Concept” which shows that installation is possible without even having to rely on boot loader kext injection.

      Prerequisites
      Existing Yosemite installation (or Mavericks - see post#4 for steps 7,8) “Install OS X El Capitan.app" downloaded to the Applications folder Pacifist FakeSMC.kext - Slice or Kozlek branch Bootloader - Clover or Chameleon 8GB or larger USB drive (16GB recommended), formatted HFS+ (MBR or GUID) named “Installer”  
      Procedure
      1.  Boot into Yosemite with the kext-dev-mode=1 boot flag
      2.  Open OS X terminal and type the following lines, followed by <Enter> after each line.
          The image restore and file copying may take a while to complete, and at the end of the process, the Installer volume is renamed to “OS X Base System"....
       
      sudo -s hdiutil attach /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/SharedSupport/InstallESD.dmg asr restore -source /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg  -target /Volumes/Installer -erase -format HFS+ -noprompt -noverify rm /Volumes/OS\ X\ Base\ System/System/Installation/Packages cp -av /Volumes/OS\ X\ Install\ ESD/Packages /Volumes/OS\ X\ Base\ System/System/Installation cp -av /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg /Volumes/OS\ X\ Install\ ESD/BaseSystem.chunklist /Volumes/OS\ X\ Base\ System diskutil unmount /Volumes/OS\ X\ Install\ ESD exit 3.  Right click on the “OS X Base System” Volume and click “Get Info”
       

      4.  Click on the lock icon and untick “Ignore ownership on this volume”
       

      5.  Extract/Copy the El Capitan Kernels folder into /System/Library/ of the USB with Pacifist.  NB It is found in the "Essentials.pkg" in /System/Installation/Packages
       

      6.  Delete or Rename the original /System/Library/PrelinkedKernels/prelinkedkernel —> OG.prelinkedkernel
       

      7.  Copy FakeSMC.kext and other necessary kexts (e.g. VoodooPS2Controller.kext for laptops) into the /Library/Extensions folder of the installer USB using Finder.
       

      8.  Back in terminal, type the following lines, followed by <Enter> after each line to rebuild the prelinkedkernel…..
       
      sudo -s chmod -R 755 /Volumes/OS\ X\ Base\ System/Library/Extensions chown -R 0:0 /Volumes/OS\ X\ Base\ System/Library/Extensions touch /Volumes/OS\ X\ Base\ System/System/Library/Extensions kextcache -u /Volumes/OS\ X\ Base\ System exit Any errors should be noted but the output below is normal e.g.


      9. Install your Bootloader targeting the OS X Base System volume
       
       
       
       
      10.  Boot your system with the USB without injected kexts into the OS X Installer GUI....
       
       
       
       
       
      Post Install
      The original prelinked kernel in a fresh install of El Capitan will also lack FakeSMC ie it will only be linked to Apple signed kexts.  In order to boot into El Capitan the first time around without boot loader kext injection, the PLK needs to be rebuilt for the El Capitan volume like we did for the installer:
       
      1.  Boot into Yosemite with the kext-dev-mode=1 boot flag
      2.  Delete or Rename the original /System/Library/PrelinkedKernels/prelinkedkernel for the El Capitan volume —> OG.prelinkedkernel
      3.  Copy FakeSMC.kext and other necessary kexts (e.g. VoodooPS2Controller.kext for laptops) into the /Library/Extensions folder of El Capitan using Finder
      4.  Back in terminal, type the following lines, followed by <Enter> after each line to rebuild the prelinkedkernel.  In this example, the El Capitan volume is named "El_Capitan" - change if you have named it something else...
      sudo -s chmod -R 755 /Volumes/El_Capitan/Library/Extensions chown -R 0:0 /Volumes/El_Capitan/Library/Extensions touch /Volumes/El_Capitan/System/Library/Extensions kextcache -u /Volumes/El_Capitan exit 5. Install your Bootloader targeting the El Capitan volume.  This step is only necessary if you are installing El Capitan on a new drive without existing boot loader (not required if installing on a disk with existing boot loader beside Yosemite).
      6. Reboot your system without injected kexts into El Capitan!
       
       
      Other links
      The All-In-One Guide to Vanilla OS X for beginners
       
      Updates for Sierra and High Sierra   Custom Prelinkedkernel Generator Tool I have made a custom prelinkedkernel generator "PLK.tool" for Sierra + El Capitan.  Instructions:   1.  Download and extract the attached BaseSystem_PLK.tool.zip into your ~/Downloads folder.   2.  Copy any extra kexts necessary for booting your hack to ~/Downloads/BaseSystem/ExtraKexts (e.g. FakeSMC, VoodooPS2Controller), making sure SIP is disabled. 3.  Copy BaseSystem.dmg to ~/Downloads/BaseSystem  4.  Open terminal and run the following commands... cd ~/Downloads/BaseSystem chmod +x PLK.tool ./PLK.tool ---> supply your admin password ---> will place your new custom prelinkedkernel on the desktop.       macOS High Sierra bypass Firmware and MBR checks in post#13.
      BaseSystem_PLK.tool_ElCap.zip
      BaseSystem_PLK.tool_Sierra.zip
      BaseSystem_PLK.tool_Mojave.zip (need to run in Mojave to avoid dependency errors)
      BaseSystem_PLK.tool_Catalina.zip
       
    • By ThatsMatt
      Salve, sono nuovo nel forum e mi serviva una mano nell'installazione dell' ultima versione di MacOs sul mio notebook HP Pavilion 15-ak112nl.
      Specifiche Tecniche: 
      CPU: Intel Core i7-6700HQ (2.60 / 3.50 GHz, 4 core, 6 MB CACHE L3). 
      Scheda Grafica: Intel HD Graphics 530 + NVIDIA GeForce GTX 950M 4 GB DDR3.
      Hard Disk: 1 TB SATA 5400 rpm.
      Ram: 8 GB DDR3L-1600.
      Audio: altoparlanti stereo Bang & Olufsen PLAY. 
      Rete: LAN 10/100, WLAN 802.11b/g/n, bluetooth 4.0 (Miracast).
      Grazie in Anticipo a chi mi risponderà
    • By fantomas1
      Première bêta... macOS Catalina 10.15 beta (19A471t)
       
       
      anciennes carte graphiques Nvidia + Intel HD 3000
×