Jump to content

Clover General discussion


ErmaC
29,866 posts in this topic

Recommended Posts

10 hours ago, Slice said:

I make the script to create gcc11.2.0 and successfully.

But I don't know how to download good ISL version.

Old site is down. Meinersbur provide sources without configure.

I downloaded from Ubuntu but I can make download from script. I placed isl-0.24 into Clover release 5140 but again I can't download it from script.

So the method is follow:

1. ./build_gcc11.sh

it failed because of no isl.

2. Download isl-0.24.tar.xz manually from Clover release 5140

3. place it into ~/src/tools/download/

4. ./build_gcc11.sh

Yes! It now will work.

 

Thanks @Slice How to use build_gcc11.sh with buildMe script !

What about .tar.xz extension : it will be replace by .tar.gz for ISL (Meinersbur) ?

 

6 hours ago, MifJpnAlphaPlus said:

Hello.

In download.tmp I saw a spell.🤣
The "--location" option solved it for me.

Git-Hub seems to be redirected.

curl -o download.tmp --remote-name --location https://github.com/CloverHackyColor/CloverBootloader/releases/download/5140/${ISL_VERSION}.tar.xz || exit 1

Thank you.

 

Thanks @MifJpnAlphaPlus This curl command is for build_gcc11.sh ! Right !

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Hi @Slice @mifjpn(mifjpn)

I edit Buildme to use build_gcc11.sh (with @MifJpnAlphaPlus curl command). I can't make CloverPKG but there are some errors.

 

EDIT: I try makepkg manually: UEFI drivers choice is missing

 

Spoiler

240383281_Capturedcran2021-10-0609_08_18.png.ba395f7378482885969410f8d85423f2.png

 

Résultat de Terminal

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

I have an idea that we should place ISL not to release but into separate folder in code to be accessible by "git pull". 

This way we are sure that ISL already downloaded when we want to use it.

 

But I want to resolve a problem with cxa_pure_virtual

It presents in two places, in Clover codes and in OC codes.

12 hours ago, Jief_Machak said:

This the error handler when a pure virtual function (a function with no implementation) is called.

i don’t why it’s now generated, but it’s possible to define it ourself.

Where to define it?

  • Like 3
Link to comment
Share on other sites

Guest 5T33Z0

Can you add sub-folders for macOS 11 and 12 to the "kexts" folder to support conditional kext loading?

 

I created a Folder "12.00" with kexts that should only be loader when macOS Monterey is running (BlueToolFixup, BrcmPatchRAM3, RestrictEvents), but these are not loaded. Did I do something wrong or must these be hard-coded into Clover?

 

Thanks

 

Link to comment
Share on other sites

https://stackoverflow.com/questions/920500/what-is-the-purpose-of-cxa-pure-virtual

This error signal about logical error in the program.

Can we define the function as?

extern "C" void __cxa_pure_virtual() { DBG("pure_virtual called\n"); }

 

7 minutes ago, 5T33Z0 said:

Can you add sub-folders for macOS 11 and 12 to the "kexts" folder to support conditional kext loading?

 

I created a Folder "12.00" with kexts that should only be loader when macOS Monterey is running (BlueToolFixup, BrcmPatchRAM3, RestrictEvents), but these are not loaded. Did I do something wrong or must these be hard-coded into Clover?

 

Thanks

 

The folder should be "12"

  • Thanks 1
Link to comment
Share on other sites

8 hours ago, Slice said:

I have an idea that we should place ISL not to release but into separate folder in code to be accessible by "git pull". 

This way we are sure that ISL already downloaded when we want to use it.

To use isl-0.24 from Meinersbur, 

should add autoconf and automake to toolchain/bin during the build process as they will be needed by autogen.sh to generate configure

 

Otherwise the link you provided from clover repo should suffice to get it done

it worked fine here.

everything but Clover builds fine.

 

8 hours ago, Slice said:

But I want to resolve a problem with cxa_pure_virtual

It presents in two places, in Clover codes and in OC codes.

Where to define it?

 

Maybe into

rEFIt_UEFI/PlatformEFI/cpp_util/pure_virtual.cpp

 

Edited by LAbyOne
  • Like 2
Link to comment
Share on other sites

7 hours ago, Slice said:

Can we define the function as?

extern "C" void __cxa_pure_virtual() { DBG("pure_virtual called\n"); }

Yes, you can define it everywhere. Indeed it's already defined in rEFIt_UEFI/PlatformEFI/cpp_util/pure_virtual.cpp. 

 

either :

- the definition has changed

- pure_virtual.cpp has not been compiled (which is unlikely if you use the usual way of compiling)

- another trick from the compiler ?

 

This is definitely a change from gcc.

8 hours ago, Slice said:

It presents in two places, in Clover codes and in OC code

It cannot be in OC code as they are using only C. A pure virtual function exists because of C++ inheritance.

pure_virtual.cpp

  • Like 2
Link to comment
Share on other sites

May be the problem is in GenFw itself?

See

@@ -894,12 +894,7 @@ WriteSections64 (
             SymName = (const UINT8 *)"<unknown>";
           }
 
-          Error (NULL, 0, 3000, "Invalid",
-                 "%s: Bad definition for symbol '%s'@%#llx or unsupported symbol type.  "
-                 "For example, absolute and undefined symbols are not supported.",
-                 mInImageName, SymName, Sym->st_value);
-
-          exit(EXIT_FAILURE);
+          continue;
         }
         SymShdr = GetShdrByIndex(Sym->st_shndx);
 
-- 

This is a part of patch by Gao Liming

https://patchew.org/EDK2/20190426144242.19024-1-liming.gao@intel.com/20190426144242.19024-3-liming.gao@intel.com/

Link to comment
Share on other sites

7 hours ago, MifJpnAlphaPlus said:

 

Hello.

@LAbyOneMy apologies for the other day

 

@Slice

@Jief_Machak

@LAbyOne
I hear your exchange of stories.
This is very informative.
I see that autogen.sh can be used to cofigre with autoconf, etc. My prediction was correct. I'm convinced.

I learned about the actual implementation to the representation of abstract things (things that don't create instances). (I've only studied it.)
It's great.
Thank you.

just begin from initial. With latest commit all works.

  • Thanks 1
Link to comment
Share on other sites

3 hours ago, Slice said:

just begin from initial. With latest commit all works.

 

Thanks.
Please, can you update BuildMe to use build_gcc11.sh instead of build_gcc10.sh on Github repo.

@Slice I use @MifJpnAlphaPlus method with option 4 (make pkg) instead of option 8 (make all)

There are some issues:

 

Buildme can't build ccpv to add it to package

 

Please enter your choice: 4
[XCODE]
- Building ccpv...
** BUILD FAILED **


The following build commands failed:
	CompileC /Users/mathieu/src/CloverBootloader/Xcode/CloverConfigPlistValidator/build/CloverConfigPlistValidator.build/Release/CloverConfigPlistValidator.build/Objects-normal/x86_64/CloverVersion.o /Users/mathieu/src/CloverBootloader/rEFIt_UEFI/Platform/CloverVersion.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
mv: rename /Users/mathieu/src/CloverBootloader/Xcode/CloverConfigPlistValidator/build/CloverConfigPlistValidator to /Users/mathieu/src/CloverBootloader/CloverPackage/CloverConfigPlistValidator/ccpv: No such file or directory
[BUILD PKG]
[CHECK XCODE]

The Clover package do not contains UEFI drivers choice

 

Spoiler

1958258439_Capturedcran2021-10-0711_29_34.png.2397ac0b4f3eb594f529c7d56d067eb4.png

 

Edited by Matgen84
Link to comment
Share on other sites

3 minutes ago, Slice said:

May be choice 4 is not possible before choice 8?

 

I always use choice 4, without any problem before. I note nasm is installed with choice 8 only, very strange.

What about update buildme to use build_gcc11.sh instead of build_gcc10.sh on Github repo.

  • Sad 1
Link to comment
Share on other sites

1 hour ago, Matgen84 said:

 

I always use choice 4, without any problem before. I note nasm is installed with choice 8 only, very strange.

What about update buildme to use build_gcc11.sh instead of build_gcc10.sh on Github repo.

I can do this at evening.

  • Like 1
Link to comment
Share on other sites

@Matgen84

anytime you re-download and build Clover, the essential step to get it done is... "building Clover" :)

and you get it done either by choice 1 or 8

if you choose to build the pkg without having the compiled files, it obviously fails..

Nasm build is only invoked when building Clover (by ebuild.sh), the makepkg has no use for nasm, hence it will not call the install process.

so anytime you re-clone Clover, either (if no substantial changes to the toolchain are done) keep your toolchain folder somewhere in order to put it back into place later, or run 8 as first choice, as it will recall all needed tools and install if missing.

( if I did misunderstood your point, please pay no attention to this)

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

32 minutes ago, LAbyOne said:

@Matgen84

anytime you re-download and build Clover, the essential step to get it done is... "building Clover" :)

and you get it done either by choice 1 or 8

if you choose to build the pkg without having the compiled files, it obviously fails..

Nasm build is only invoked when building Clover (by ebuild.sh), the makepkg has no use for nasm, hence it will not call the install process.

so anytime you re-clone Clover, either (if no substantial changes to the toolchain are done) keep your toolchain folder somewhere in order to put it back into place later, or run 8 as first choice, as it will recall all needed tools and install if missing.

( if I did misunderstood your point, please pay no attention to this)

 Thanks @LAbyOne I understood now what I've forgotten.

I thought that build_gcc11.sh do the job (building Clover), that's why I chose option 4 (make pkg). In my previous post, I said that I use Terminal to launch build_gcc11.sh before using Buildme.

Now that I understand my little mistake, i can use options 1 then 4. 

 

Usually I use xcode and not gcc to compile clover 🙂

  • Like 2
Link to comment
Share on other sites

2 hours ago, LAbyOne said:

@Slice

 

here's an actualized version of buildme if needed

buildme.7z 4.34 kB · 9 downloads

 

- Updated checkTools to build gcc version 11

- Updated a few tools to actual release version

- Added to Utilities BigSurmount srw 2 --> info

Commit please by yourself to take responsibility for it.

  • Like 2
Link to comment
Share on other sites

I implemented hw.target (like OC did)

sergey@iMac2017 CloverBootloader % sudo sysctl hw.target   
Password:
hw.target: j160
sergey@iMac2017 CloverBootloader %

It should help for future updates of Monterey for T2 Models.

But I don't know how to assign default value depending on MacModel @Jief_Machak

  • Like 3
Link to comment
Share on other sites

15 hours ago, Slice said:

I implemented hw.target (like OC did)

sergey@iMac2017 CloverBootloader % sudo sysctl hw.target   
Password:
hw.target: j160
sergey@iMac2017 CloverBootloader %

It should help for future updates of Monterey for T2 Models.

But I don't know how to assign default value depending on MacModel @Jief_Machak

 

Hi @Slice Thanks.

 

The commit ec1f8a6a4 introduce changes : CsrActiveConfig (0xA85) and new key 'Hw.target' for the config-sample.plist

 

Do you plan to put some explanations on sub-forum "clover changes explanations" for all users.  Please.

  • Like 2
Link to comment
Share on other sites

Hello everyone, I'd like a kind soul to help me out please?

 

1. I installed Clover 5139 on Beelink L55 for my cousin with Catalina with success. But with Big Sur as you know, only Preboot volume must be selected to boot.

 

I now moved to Clover 5140.1 and want to keep using Clover but as my cousin is a noob, I'd like to ask how to rename the word "Preboot" so that it's automatically selected?

 

In the boot screen there is only "Big Sur Preboot" and "Big Sur Recovery" options. It's possible that it was mentioned some time ago in 1108 pages, but is there any option to rename the "Preboot" word?

 

What have you guys done? Are you all booting Big Sur from "Preboot" name volume?

 

Finally a quick other question: For the Intel Wireless kext (itlmw) the AirportItlwm kext seems to only work with OpenCore due to the SecureBootModel key (set to "Default").

 

Any idea how to make this kext work in Clover? Your help is appreciated, I will post your instructions on my Github repo, too, once I figure out the exact steps...

 

P.S. For security reasons, both my "BooterConfig" and "CsrActiveConfig" keys are at 0x00 for security reasons!


Thank you!

Edited by MacKonsti
Link to comment
Share on other sites

14 minutes ago, MifJpnAlphaPlus said:

On my laptop, AirportItlwm kext also works with Clover.

Thank you for posting your photo, I very much appreciate it. I totally forgot that the folder name is "11" and not "11.0". Now it works, cheers mate! Arigatō!

Moreover, are you also booting from "Preboot" icon in boot screen? Did you perform any successful change of the name? Just curious...

 

@Slice please perhaps consider in the ZIP package to include a "11" folder together with all the "10.xx" folders in kexts folder, so that we remember it has no number after "11" ? In the latest 5140.1 ZIP I still only see "10.1x" folders.... Спасибо!

Edited by MacKonsti
  • Like 1
Link to comment
Share on other sites

1 hour ago, MacKonsti said:

Hello everyone, I'd like a kind soul to help me out please?

 

1. I installed Clover 5139 on Beelink L55 for my cousin with Catalina with success. But with Big Sur as you know, only Preboot volume must be selected to boot.

 

I now moved to Clover 5140.1 and want to keep using Clover but as my cousin is a noob, I'd like to ask how to rename the word "Preboot" so that it's automatically selected?

 

In the boot screen there is only "Big Sur Preboot" and "Big Sur Recovery" options. It's possible that it was mentioned some time ago in 1108 pages, but is there any option to rename the "Preboot" word?

 

What have you guys done? Are you all booting Big Sur from "Preboot" name volume?

 

Finally a quick other question: For the Intel Wireless kext (itlmw) the AirportItlwm kext seems to only work with OpenCore due to the SecureBootModel key (set to "Default").

 

Any idea how to make this kext work in Clover? Your help is appreciated, I will post your instructions on my Github repo, too, once I figure out the exact steps...

 

P.S. For security reasons, both my "BooterConfig" and "CsrActiveConfig" keys are at 0x00 for security reasons!


Thank you!

All vice versa.

1. Catalina can be booted by "Catalina" or by "Cataline Preboot" entries. But BigSur no.

BigSur can be booted ONLY by Preboot. The same for OpenCore as you already knows.

 

2. AirportItlwm works with Clover better than with with OpenCore. Link

3. For hackintosh reason if csr=0 then some kexts will not work. itlwm, voodoohda and others.

4. Who say you set BooterConfig to zero? Nonsense.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Thank you @Slice for replying

a) If you remember that Chrome fiasco 1-2 years ago that prevented booting the Mac for those that had changed "BooterConfig" and "CsrActiveConfig" ? Ever since, I put all these to 0x00 like real Mac.

Please, what values to you suggest while keeping security? Besides the known 0x28 and 0x67 values obviously.

 

b) Thank you for the reply on the "Preboot" loading icon. Yes, I am aware same on OpenCore they just seem to hide the name, for aesthetic reasons I guess.

So for people that are not experienced in Hackintosh, is there a way to create a custom entry to boot the same "Preboot" volume but under a different name? My last efforts to create Custom Entries were not successful...

 

c) I have edited my reply above, please for your next release, can you include a folder "11" and "12" alongside "10.1x" so that we remember there is no "11.0" etc. for kexts? In the EFI ZIP? Thanks!

 

(you did not put a link for AirportItlwm working better with Clover but I believe you ;) Good night to everyone! )

Link to comment
Share on other sites

×
×
  • Create New...