Jump to content

Clover General discussion


ErmaC
30,171 posts in this topic

Recommended Posts

6 hours ago, MakAsus said:

If you already use OcQuirks, it will be enough to replace only OcQuirks.plist from the archive in the attachment. Quirks in it are configured on the Coffee Lake CPU.  As for kernel_patcher and kext_inject, you can compare them with the original ones. 

Platform.zip

Yes, I came across this, and was forced to change the above files for myself.

 Great, I just build the latest commit, work fine now. Thanks a lot.

Link to comment
Share on other sites

On 6/23/2020 at 7:29 PM, chris1111 said:

I think prelinkkernel as some change for BigSur

/System/Library/KernelCollections/BootKernelExtensions.kc.development
/System/Library/KernelCollections/BootKernelExtensions.kc

 

Look at the picture

photo_2020-06-23_09-58-23.thumb.jpg.7b5e4ac9da8f3798e38de51ef0fa11c9.jpg.81912ab3c9c28d72566ac2a13737e10f.jpg

 

Hi @Slice

 

report some issues.

 

6/19, commit 1072, 109d1f5, kext patcher and kernel patcher work fine on Mojave, Catalina.

can't pass the Big Sur ++++++++++++++++++++++++++++++++++

can't boot to Big Sur.

 

7/13, commit 1091, b79f643, kext patcher and kernel patcher didn't work on Mojave, Catalina, Big Sur,

and can boot to Big Sur system, and get panic without kext patch after booting logs.

 

If I replace 109d1f5/kernel_patcher.cpp to b79f643/kernel_patcher.cpp, and modify as diff as below.

The commit 1091, b79f643 kext patcher and kernel patcher work fine on Mojave, Catalina,

and can boot to Big Sur system, but get panic without kext patch after booting logs.


The problem is, can you fix the kext patcher and kernel patcher on Mojave, Catalina, Big Sur?

 

Spoiler

@@ -1126,7 +1126,7 @@
 //
 static inline BOOLEAN IsXCPMOSVersionCompat(UINT64 os_version)
 {
-  return (os_version >= AsciiOSVersionToUint64("10.8.5")) && (os_version < AsciiOSVersionToUint64("10.16")); 
+  return (os_version >= AsciiOSVersionToUint64("10.8.5")) && (os_version < AsciiOSVersionToUint64("10.17"));
 }
 
 //
@@ -2053,7 +2053,7 @@
     // check bootargs for 10.7 and up
     bootArgs2 = (BootArgs2*)ptr;
 
-    if (bootArgs2->Version==2 && bootArgs2->Revision==0
+    if (bootArgs2->Version==2 && (bootArgs2->Revision==0 || bootArgs2->Revision==1)
         // plus additional checks - some values are not inited by boot.efi yet
         && bootArgs2->efiMode == archMode
         && bootArgs2->kaddr == 0 && bootArgs2->ksize == 0

 

 

 

 

 

 

 

 

  • Like 5
Link to comment
Share on other sites

os_version < AsciiOSVersionToUint64("10.16")

Maybe we severely should consider that macOS Big Sur is 11.0 and not 10.16?

-  return (os_version >= AsciiOSVersionToUint64("10.8.5")) && (os_version < AsciiOSVersionToUint64("11.0")); 
+  return (os_version >= AsciiOSVersionToUint64("10.8.5")) && (os_version < AsciiOSVersionToUint64("11.1"));

 

  • Like 3
Link to comment
Share on other sites

1 hour ago, fantomas said:

os_version < AsciiOSVersionToUint64("10.16")

Maybe we severely should consider that macOS Big Sur is 11.0 and not 10.16?


-  return (os_version >= AsciiOSVersionToUint64("10.8.5")) && (os_version < AsciiOSVersionToUint64("11.0")); 
+  return (os_version >= AsciiOSVersionToUint64("10.8.5")) && (os_version < AsciiOSVersionToUint64("11.1"));

 

maybe should be

 

-  return (os_version >= AsciiOSVersionToUint64("10.8.5")) && (os_version < AsciiOSVersionToUint64("11.0")); 
+  return (os_version >= AsciiOSVersionToUint64("10.8.5")) && (os_version < AsciiOSVersionToUint64("11.7"));

First non Hybrid BS  ?

 

 

  • Like 3
Link to comment
Share on other sites

1 hour ago, fantomas said:

os_version < AsciiOSVersionToUint64("10.16")

Maybe we severely should consider that macOS Big Sur is 11.0 and not 10.16?


-  return (os_version >= AsciiOSVersionToUint64("10.8.5")) && (os_version < AsciiOSVersionToUint64("11.0")); 
+  return (os_version >= AsciiOSVersionToUint64("10.8.5")) && (os_version < AsciiOSVersionToUint64("11.1"));

 

 

27 minutes ago, chris1111 said:

maybe should be

 


-  return (os_version >= AsciiOSVersionToUint64("10.8.5")) && (os_version < AsciiOSVersionToUint64("11.0")); 
+  return (os_version >= AsciiOSVersionToUint64("10.8.5")) && (os_version < AsciiOSVersionToUint64("11.7"));

First non Hybrid BS  ?

 

 

 

I think it's 11.1

it means, 10.8.5~10.15.x~10.x.x~11.0.x, not include 11.1.x

BS is 11.0.x, next is 11.1.x, if apple wants.:)

 

But SystemVersion.plist is 10.16 for Big Sur now.

 

- == old value

+ == new value

-  return (os_version >= AsciiOSVersionToUint64("10.8.5")) && (os_version < AsciiOSVersionToUint64("10.16")); 
+  return (os_version >= AsciiOSVersionToUint64("10.8.5")) && (os_version < AsciiOSVersionToUint64("11.1"));

 

Edited by crazybirdy
  • Like 3
Link to comment
Share on other sites

2 hours ago, fantomas said:

@chris1111 Actually we do not know how Apple will estampe the future updates. Maybe we'll have something like 11.0.1 ->11.0.6 and 11.0 > 11.11.6. We do not know if the next upgrade will be 12.0 or 11.1  :)

 

Edit - Oups, @crazybirdy beat me.  :P 

 

When new numeration will be clear and the patches will be proved working then we can change the numeration. Not a big deal really.

OK, now I'll set 11.1.

  • Like 4
Link to comment
Share on other sites

Ignoring 'Build total time: 17:01:28, 364 day(s)', am I missing some dependencies?

 

 


cc1: all warnings being treated as errors
Building ... /home/badruzeus/src/CloverBootloader/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf [X64]
make: *** [GNUmakefile:485: /home/badruzeus/src/CloverBootloader/Build/Clover/RELEASE_GCC53/X64/Library/OcAfterBootCompatLib/OcAfterBootCompatLib/OUTPUT/CustomSlide.obj] Error 1


build.py...
 : error 7000: Failed to execute command
    make tbuild [/home/badruzeus/src/CloverBootloader/Build/Clover/RELEASE_GCC53/X64/Library/OcAfterBootCompatLib/OcAfterBootCompatLib]


build.py...
 : error 7000: Failed to execute command
    make tbuild [/home/badruzeus/src/CloverBootloader/Build/Clover/RELEASE_GCC53/X64/Library/OcMemoryLib/OcMemoryLib]


build.py...
 : error F002: Failed to build module
    /home/badruzeus/src/CloverBootloader/Library/OcAfterBootCompatLib/OcAfterBootCompatLib.inf [X64, GCC53, RELEASE]

- Failed -
 

 

 

Thanks.

BuildClover-r5119-abc8d3cab-failed-Ub20.04.log.zip

Edited by Badruzeus
  • Sad 1
Link to comment
Share on other sites

6 hours ago, Badruzeus said:

Ignoring 'Build total time: 17:01:28, 364 day(s)', am I missing some dependencies?

  Reveal hidden contents

 

Thanks.

BuildClover-r5119-abc8d3cab-failed-Ub20.04.log.zip

fix mistakes of previous commits

  • Thanks 3
Link to comment
Share on other sites

@Slice  I can't build latest commit 0a5b4b (PKG)

[SLINK] EfiLoader
clang: error: unknown argument: '-segalign'
clang: error: no such file or directory: '0x1000'
make: *** [/Users/mathieu/src/Cloverbootloader/Build/Clover/RELEASE_XCODE8/X64/MemoryFix/OpenRuntime/OpenRuntime/DEBUG/OpenRuntime.dll] Error 1


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/mathieu/src/Cloverbootloader/Build/Clover/RELEASE_XCODE8/X64/MemoryFix/OpenRuntime/OpenRuntime]


build.py...
 : error F002: Failed to build module
	/Users/mathieu/src/Cloverbootloader/MemoryFix/OpenRuntime/OpenRuntime.inf [X64, XCODE8, RELEASE]

 

Link to comment
Share on other sites

1 hour ago, Slice said:

Answered in other thread. Don't double, I see anyway.

 

I open file Clover/MemoryFix/OpenRuntime/OpenRuntime.inf  

Remove: 
XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
XCODE:*_*_*_MTOC_FLAGS = -align 0x1000

 

Another issue. Can't build Clover:
 

clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [/Users/mathieu/src/Cloverbootloader/Build/Clover/RELEASE_XCODE8/X64/MemoryFix/OpenRuntime/OpenRuntime/DEBUG/OpenRuntime.dll] Error 1

build.py...
 : error 7000: Failed to execute command
    make tbuild [/Users/mathieu/src/Cloverbootloader/Build/Clover/RELEASE_XCODE8/X64/MemoryFix/OpenRuntime/OpenRuntime]
Link to comment
Share on other sites

21 minutes ago, Matgen84 said:

 

I open file Clover/MemoryFix/OpenRuntime/OpenRuntime.inf  

Remove: 
XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
XCODE:*_*_*_MTOC_FLAGS = -align 0x1000

 

Another issue. Can't build Clover:
 


clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [/Users/mathieu/src/Cloverbootloader/Build/Clover/RELEASE_XCODE8/X64/MemoryFix/OpenRuntime/OpenRuntime/DEBUG/OpenRuntime.dll] Error 1

build.py...
 : error 7000: Failed to execute command
    make tbuild [/Users/mathieu/src/Cloverbootloader/Build/Clover/RELEASE_XCODE8/X64/MemoryFix/OpenRuntime/OpenRuntime]

 

as @Slice's post. check it.

Link to comment
Share on other sites

21 minutes ago, crazybirdy said:

 

as @Slice's post. check it.

 

I follow Slice's explanation by removing XCODE lines as I wrote in my previous post. :whistle:
 

There is now another issue. Can't build Clover (see also previous post)

Link to comment
Share on other sites

36 minutes ago, Matgen84 said:

 

I follow Slice's explanation by removing XCODE lines as I wrote in my previous post. :whistle:
 

There is now another issue. Can't build Clover (see also previous post)

 

You need to remove all the five lines.

 

Spoiler

/MemoryFix/OpenRuntime/OpenRuntime.inf

-[BuildOptions]
-  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
-  XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
-  XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
-  CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096

 

  • Thanks 1
Link to comment
Share on other sites

Uhmmb, I think I got diff. build issue under Ubuntu with GCC but.. let me check my src and/or compiler first.

 



Building ... /home/badruzeus/src/CloverBootloader/Library/OcAfterBootCompatLib/OcAfterBootCompatLib.inf [X64]
[CC] Unaligned
In file included from /home/badruzeus/src/CloverBootloader/Build/Clover/RELEASE_GCC53/X64/Library/OcBootManagementLib/OcBootManagementLib/DEBUG/AutoGen.h:16,
                 from <command-line>:
/home/badruzeus/src/CloverBootloader/Library/OcBootManagementLib/BootAudio.c: In function 'OcPlayAudioFile':
/home/badruzeus/src/CloverBootloader/MdePkg/Include/Base.h:1000:40: error: 'Status' may be used uninitialized in this function [-Werror=maybe-uninitialized]
 1000 | #define RETURN_ERROR(StatusCode)     (((INTN)(RETURN_STATUS)(StatusCode)) < 0)
      |                                        ^
/home/badruzeus/src/CloverBootloader/Library/OcBootManagementLib/BootAudio.c:58:15: note: 'Status' was declared here
   58 |   EFI_STATUS  Status;
      |               ^~~~~~
[CC] SetMem32Wrapper
cc1: all warnings being treated as errors
make: *** [GNUmakefile:528: /home/badruzeus/src/CloverBootloader/Build/Clover/RELEASE_GCC53/X64/Library/OcBootManagementLib/OcBootManagementLib/OUTPUT/BootAudio.obj] Error 1


build.py...
 : error 7000: Failed to execute command
    make tbuild [/home/badruzeus/src/CloverBootloader/Build/Clover/RELEASE_GCC53/X64/Library/OcBootManagementLib/OcBootManagementLib]


build.py...
 : error 7000: Failed to execute command
    make tbuild [/home/badruzeus/src/CloverBootloader/Build/Clover/RELEASE_GCC53/X64/Library/OcConsoleLib/OcConsoleLib]


build.py...
 : error F002: Failed to build module
    /home/badruzeus/src/CloverBootloader/Library/OcBootManagementLib/OcBootManagementLib.inf [X64, GCC53, RELEASE]

- Failed -
Build end time: 14:18:10, Jul.16 2020
Build total time: 00:01:44

badruzeus@AO-HAPPY:~/src/CloverBootloader$ 
 

Link to comment
Share on other sites

23 minutes ago, Badruzeus said:

Uhmmb, I think I got diff. build issue under Ubuntu with GCC but.. let me check my src and/or compiler first.

 

  Reveal hidden contents

Building ... /home/badruzeus/src/CloverBootloader/Library/OcAfterBootCompatLib/OcAfterBootCompatLib.inf [X64]
[CC] Unaligned
In file included from /home/badruzeus/src/CloverBootloader/Build/Clover/RELEASE_GCC53/X64/Library/OcBootManagementLib/OcBootManagementLib/DEBUG/AutoGen.h:16,
                 from <command-line>:
/home/badruzeus/src/CloverBootloader/Library/OcBootManagementLib/BootAudio.c: In function 'OcPlayAudioFile':
/home/badruzeus/src/CloverBootloader/MdePkg/Include/Base.h:1000:40: error: 'Status' may be used uninitialized in this function [-Werror=maybe-uninitialized]
 1000 | #define RETURN_ERROR(StatusCode)     (((INTN)(RETURN_STATUS)(StatusCode)) < 0)
      |                                        ^
/home/badruzeus/src/CloverBootloader/Library/OcBootManagementLib/BootAudio.c:58:15: note: 'Status' was declared here
   58 |   EFI_STATUS  Status;
      |               ^~~~~~
[CC] SetMem32Wrapper
cc1: all warnings being treated as errors
make: *** [GNUmakefile:528: /home/badruzeus/src/CloverBootloader/Build/Clover/RELEASE_GCC53/X64/Library/OcBootManagementLib/OcBootManagementLib/OUTPUT/BootAudio.obj] Error 1


build.py...
 : error 7000: Failed to execute command
    make tbuild [/home/badruzeus/src/CloverBootloader/Build/Clover/RELEASE_GCC53/X64/Library/OcBootManagementLib/OcBootManagementLib]


build.py...
 : error 7000: Failed to execute command
    make tbuild [/home/badruzeus/src/CloverBootloader/Build/Clover/RELEASE_GCC53/X64/Library/OcConsoleLib/OcConsoleLib]


build.py...
 : error F002: Failed to build module
    /home/badruzeus/src/CloverBootloader/Library/OcBootManagementLib/OcBootManagementLib.inf [X64, GCC53, RELEASE]

- Failed -
Build end time: 14:18:10, Jul.16 2020
Build total time: 00:01:44

badruzeus@AO-HAPPY:~/src/CloverBootloader$ 

 

 

Ah haa.., it seems I mistakenly set highest priority for Experimental GCC10 version once 'sudo update-alternatives --config gcc' executed in auto mode.

 

 

lto1: fatal error: bytecode stream in file '/home/badruzeus/src/CloverBootloader/Build/Clover/RELEASE_GCC53/X64/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint/OUTPUT/UefiDriverEntryPoint.lib' generated with GCC compiler older than 10.0
compilation terminated.
lto-wrapper: fatal error: /usr/bin/gcc returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make: *** [GNUmakefile:400: /home/badruzeus/src/CloverBootloader/Build/Clover/RELEASE_GCC53/X64/MemoryFix/OsxLowMemFixDrv/OsxLowMemFixDrv/DEBUG/OsxLowMemFixDrv.dll] Error 1


build.py...
 : error 7000: Failed to execute command
    make tbuild [/home/badruzeus/src/CloverBootloader/Build/Clover/RELEASE_GCC53/X64/MemoryFix/OsxLowMemFixDrv/OsxLowMemFixDrv]


build.py...
 : error F002: Failed to build module
    /home/badruzeus/src/CloverBootloader/MemoryFix/OsxLowMemFixDrv/OsxLowMemFixDrv.inf [X64, GCC53, RELEASE]

- Failed -
Build end time: 14:13:08, Jul.16 2020
Build total time: 00:01:48

badruzeus@AO-HAPPY:~/src/CloverBootloader$ 

 

After rolling it back to GCC9 now ebuild.sh works as expected. Thanks & sorry for spamming this thread. :)

Edited by Badruzeus
Link to comment
Share on other sites

4 hours ago, Badruzeus said:

 

Ah haa.., it seems I mistakenly set highest priority for Experimental GCC10 version once 'sudo update-alternatives --config gcc' executed in auto mode.

 

  Reveal hidden contents

 

After rolling it back to GCC9 now ebuild.sh works as expected. Thanks & sorry for spamming this thread. :)

I use

gcc version 10.1.0 (GCC) 

  • Like 1
Link to comment
Share on other sites

On 6/29/2020 at 1:30 AM, MakAsus said:

The injection was completely broken, since the commit that prepare for 10.16 

 

On 7/8/2020 at 4:32 PM, Matgen84 said:

Very annoying this issues.

 

On 7/13/2020 at 9:24 PM, crazybirdy said:

 

Hi @Slice

 

report some issues.

 

6/19, commit 1072, 109d1f5, kext patcher and kernel patcher work fine on Mojave, Catalina.

can't pass the Big Sur ++++++++++++++++++++++++++++++++++

can't boot to Big Sur.

 

7/13, commit 1091, b79f643, kext patcher and kernel patcher didn't work on Mojave, Catalina, Big Sur,

and can boot to Big Sur system, and get panic without kext patch after booting logs.

 

If I replace 109d1f5/kernel_patcher.cpp to b79f643/kernel_patcher.cpp, and modify as diff as below.

The commit 1091, b79f643 kext patcher and kernel patcher work fine on Mojave, Catalina,

and can boot to Big Sur system, but get panic without kext patch after booting logs.


The problem is, can you fix the kext patcher and kernel patcher on Mojave, Catalina, Big Sur?

 

Latest Clover builds eg r5119_6090199 still have broken kext injection & patching on my legacy desktop GA-P55aUD3, system no 2 in signature.

 

Symptoms

  • No FakeSMC injection —> Boot hanging, waiting for DSMOS
  • Patching AppleAHCIPort to prevent ALPM IO Error fails —> some of my SATA HD not recognised
  • AppleRTC patching failed —>. BIOS always reset on next reboot (very annoying)

Last (official) reliable build for me was “prepare for 10.16” commit a0948b2.

 

Also reliable is unofficial modified Clover r5119 from @kuckuck post#1, that successfully boots Big_Sur (already completed install), Catalina, High Sierra etc..

 

 

 

19 hours ago, Slice said:

Test, please, commit d320eb969

 

Unfortunately, same as before with r5119_d320eb969 and r5120_14c254d.  Kext injection and kext patching fails ---> boot hang, SATA IO errors, BIOS resets :wallbash:.

 

Tested on 10.13.6, 10.15.6 and 10.16b2.

Edited by fusion71au
Extra testing with r5120, still failing kext injection and patching.
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

×
×
  • Create New...