Jump to content

Clover General discussion


ErmaC
29,818 posts in this topic

Recommended Posts

@Jief_Machak

I had to make this change

- Status = OcStorageInitFromFs(&mOpenCoreStorage, FileSystem, self.getCloverDirFullPath().wc_str(), NULL);
+ Status = OcStorageInitFromFs(&mOpenCoreStorage, FileSystem, NULL, NULL, self.getCloverDirFullPath().wc_str(), NULL);

For the Clover compatibility with new OC. But I afraid it is not correct. See please.

Link to comment
Share on other sites

18 minutes ago, Slice said:
Status = OcStorageInitFromFs(&mOpenCoreStorage, FileSystem, self.getCloverDirFullPath().wc_str(), NULL);

This was line 869 of main.cpp and it's already done in the repo but in the branch "0.7.3branch". You probably switch branch for OpenCorePkg but not for Clover. That's to be avoided because you're committing to master changes that are needed for the 0.7.3branch.

 

 

Why did you add "FW_FEATURE_SUPPORTS_LARGE_BASESYSTEM". it's not used anywhere so far ?

And gEfiAudioDecodeProtocolGuid ? Here it's compiling fine without it...

 

Looks like you remerge the commits I cancelled about the upgrade to 0.6.5 that wasn't complete. I guess you didn't re-clone or did the git reset --hard.

 

I've deleted these commits, so we can be back to the master branch how it was before I messed things up with the OpenCore upgrade.

 

If you got a message saying you should merge your local changes, please don't. Re-clone instead.

 

The commit "implement ExtendedFirmwareFeatures" is lost, sorry. But if we can wait a bit before re-doing it, it'll be simpler.

Link to comment
Share on other sites

@Slice There is one thing I didn't import yet in the 0.7.3branch : the cpuid you added in OC (file OpenCorePkg/Library/OcAppleKernelLib/CommonPatches.c and file OpenCoreKernelPatch.c)

I didn't import because the file structure has changed and I don't know where to put it now. It looks like there is something in OC about that. Don't know if it's new in OC.

 

To commit in the branch, you have to be sure that OpenCorePkg is on branch "0.7.3branch2" (do a git checkout 0.7.3branch2 in Clover/OpenCorePkg folder) and that Clover is on branch "0.7.3branch" (do a git checkout 0.7.3branch in Clover folder)

You easily check which branch you are on by issuing "git status".

Here is a version with a panic message instead of a freeze if OpenRuntime is not right.

CloverX64-2021-09-23-22-55-36-8f3b2f0-jief.zip

  • Like 2
Link to comment
Share on other sites

Oops...

I'll have my own local repo until I will have a possibility reimplement my changes into new master branch especially CPUID and ExtendedFeatures.

 

I have to report that I successfully updated Monterey to beta 7 using the version from previous post and old Openruntime.efi.

Update method is follow:

1. Boot by new Clover and old Openruntime, old config.plist.

2. SystemPreferences->Update->OK

3. Rest until finish.

4. After return I see OS version 21A5522h

  • Like 2
Link to comment
Share on other sites

1 hour ago, eSaF said:

I like this 3rd step, yes we all needed plenty of this because of this Beta 7. :hysterical:

Moreover I was going to sleep and returned to the computer only at morning.

 

But I forgot to say that I already have the model iMac17,1 so I am not sure if all users must change it.

  • Like 2
Link to comment
Share on other sites

10 hours ago, Jief_Machak said:

This was line 869 of main.cpp and it's already done in the repo but in the branch "0.7.3branch". You probably switch branch for OpenCorePkg but not for Clover. That's to be avoided because you're committing to master changes that are needed for the 0.7.3branch.

 

 

Why did you add "FW_FEATURE_SUPPORTS_LARGE_BASESYSTEM". it's not used anywhere so far ?

And gEfiAudioDecodeProtocolGuid ? Here it's compiling fine without it...

 

Looks like you remerge the commits I cancelled about the upgrade to 0.6.5 that wasn't complete. I guess you didn't re-clone or did the git reset --hard.

 

I've deleted these commits, so we can be back to the master branch how it was before I messed things up with the OpenCore upgrade.

 

If you got a message saying you should merge your local changes, please don't. Re-clone instead.

 

The commit "implement ExtendedFirmwareFeatures" is lost, sorry. But if we can wait a bit before re-doing it, it'll be simpler.

FW_FEATURE_SUPPORTS_LARGE_BASESYSTEM is a definition that is not used directly as many other definitions somehow discovered by acidanthera. It is proposed to be used by users in their config.plists.

 

gEfiAudioDecodeProtocolGuid - I just wonder why you and acidanthera didn't see this mistake. May be because you are using clang? I compiled it with gcc and got linker error "undefined symbol in OpenCoreLib".

 

I will not work with a branch staying at master branch. I will wait while you finish your work and return to master.

 

  • Like 1
Link to comment
Share on other sites

9 minutes ago, Slice said:

Moreover I was going to sleep and returned to the computer only at morning.

 

But I forgot to say that I already have the model iMac17,1 so I am not sure if all users must change it.

Yes Bro I fully understand. I have done exactly that many times, letting the process finish while I sleep. Solving hack problems can be very taxing and tiresome at times so taking a nap in between can be very refreshing and helpful to your mental health. :thumbsup_anim:

  • Like 2
Link to comment
Share on other sites

1 hour ago, Slice said:

FW_FEATURE_SUPPORTS_LARGE_BASESYSTEM is a definition that is not used directly as many other definitions somehow discovered by acidanthera. It is proposed to be used by users in their config.plists.

 

If it's not used in code, better not to import it now. This will be imported automatically with the next upgrade to the OpenCorePkg component. My plan is to keep up with OpenCore version, as it should now be easy to upgrade using rebase git technique. But that would only work if there is not conflict.

 

1 hour ago, Slice said:

gEfiAudioDecodeProtocolGuid - I just wonder why you and acidanthera didn't see this mistake. May be because you are using clang? I compiled it with gcc and got linker error "undefined symbol in OpenCoreLib".

 

I'm using GCC all the time and it's compiling here.

I'm not saying it's wrong to have that here, it probably should, but I try to keep OC modification to a bare minimum so there is less chance of conflict for the next OC upgrade. 

Here it's compiling both Gcc and xcode.

 

1 hour ago, Slice said:

I will wait while you finish your work and return to master.

I'm doing a test with MatGen. If it works, I'll make the 0.7.3branch the new master.

4 hours ago, Slice said:

I have to report that I successfully updated Monterey to beta 7 using the version from previous post and old Openruntime.efi.

I'm not sure what version, but if you use an Openruntime v11, it means it was tu current version of Clover, not the one that integrates OC 0.7.3. Am I right ?

  • Like 1
Link to comment
Share on other sites

6 hours ago, Slice said:

In my EFI folder I changed the file CloverX64.efi and no more. So Openruntime.efi remains june version.

Yes understood that. But if that works, it means you are NOT using the Clover I've sent that use OC 0.7.3. OC check OpenRuntime version and stop if version is not right with a message "incompatible version". Because OC stop (CpuDeadLoop), Clover GUI is frozen.

If implemented a check before that gives a panic message, so at least people know.

New Clover that uses OC 0.7.3 cannot use that same openruntime as before when it was OC 0.6.1. It is just impossible.

 

It seems to work, so I'll convert that branch to master, keeping the old master as something like "0.6.1branch" in case we need to access it sometime.

  • Like 5
Link to comment
Share on other sites

1 hour ago, Jief_Machak said:

Yes understood that. But if that works, it means you are NOT using the Clover I've sent that use OC 0.7.3. OC check OpenRuntime version and stop if version is not right with a message "incompatible version". Because OC stop (CpuDeadLoop), Clover GUI is frozen.

If implemented a check before that gives a panic message, so at least people know.

New Clover that uses OC 0.7.3 cannot use that same openruntime as before when it was OC 0.6.1. It is just impossible.

 

It seems to work, so I'll convert that branch to master, keeping the old master as something like "0.6.1branch" in case we need to access it sometime.

 

tested here on All In One Asus Vivo AiO V241IC-R

it worked perfect with the Cloverx64 and OpenRuntime v12.efi set posted by Jief

thanks

 

Spoiler

2078290363_boottestenovoclover.thumb.png.628b2e98aff1557d75ba1cca59df6ea5.png655506571_boottestenovocloverb7.thumb.png.989588e1f9b5c2ec754893ec6fb9a60a.png

 

  • Like 2
Link to comment
Share on other sites

I've re-assigned master, for both Clover and OpenCorePkg.

It means now that master is using 0.7.3 version of OpenCore : update your OpenRuntime.efi. And please, call it OpenRuntime-v12.efi. Reason for that is that, when we'll have a v13, the v12 will be automatically ignored and you'll be able to have OpenRuntime-v12.efi AND OpenRuntime-v13.efi in the same driver folder and Clover will pick the right one : no more panic when you'll switch version.

 

NOTE : please re-clone, or make sure that Clover AND OpenCorePkg pointing to the new master. I've tested with buildme and buildme XCODE8 from scratch, so if it doesn't compile, it's because you got a wrong version (old or deleted commit).

15 hours ago, MifJpnAlphaPlus said:

Hello.
% git pull --recurse-submodules
% ./buildme
And buildall.

% git rev-parse HEAD
583e2dd5dacc278c34a67652521a628ed13d4e3d

I adapted the package to USBStick and tried booting.

 

 ... EXIT BS: START ...
+++++++++++++++++++++++++++++++++++++

 

 and STOP

 

2021-09-24_14-29_BOOTX64.EFI.log.zip
What should I do?

Maybe USB/FixOwnership is wrong ?

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

@Jief_Machak I think it will be interesting to build Openruntime with his incremental number version ( OpenRuntime-v12.efi), to identify it immediately. Just an opinion, but I don't know if it's possible. 

I can build Clover successfully. Thanks.

Please, can you re-add @Slice commit for macOS Monterey Beta 7. When you'll have time

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

19 minutes ago, Jief_Machak said:

Good luck suggesting that to OC team.

 

When we build Clover, we build Openruntime too. So It can be rename OpenRuntime-vXX.efi in CloverPackage. It's tha what I want to say. Openruntime for Clover(8Ko)  is not the Openruntime for OC (20ko), or I'm wrong, sorry.

Can't build Clover despite good HEAD:

 


In file included from /Users/mathieu/src/CloverBootloader/rEFIt_UEFI/Settings/ConfigPlist/Config_GUI.cpp:14:
In file included from /Users/mathieu/src/CloverBootloader/rEFIt_UEFI/Settings/ConfigPlist/ConfigPlistClass.h:27:
In file included from /Users/mathieu/src/CloverBootloader/rEFIt_UEFI/Settings/ConfigPlist/../../Platform/cpu.h:15:
In file included from /Users/mathieu/src/CloverBootloader/MdePkg/Include/Register/Intel/../../../../rEFIt_UEFI/Platform/../include/OC.h:25:
/Users/mathieu/src/CloverBootloader/OpenCorePkg/Include/Acidanthera/Library/OcMainLib.h:46:2: error: "Unknown target definition"
#error "Unknown target definition"
 ^
1 error generated.
note: Using new build system
note: Planning build
note: Using build description from disk
** BUILD FAILED **

 

Edited by Matgen84
Link to comment
Share on other sites

@Jief_Machak

I re-clone. Unfortunately, can't build again:
 

enerating BootSectors
make: Nothing to be done for `all'.
Done!
In file included from /Users/mathieu/src/Cloverbootloader/rEFIt_UEFI/Platform/platformdata.cpp:7:
In file included from /Users/mathieu/src/Cloverbootloader/rEFIt_UEFI/Platform/smbios.h:15:
In file included from /Users/mathieu/src/Cloverbootloader/rEFIt_UEFI/Platform/../Platform/cpu.h:15:
In file included from /Users/mathieu/src/Cloverbootloader/rEFIt_UEFI/Platform/../include/OC.h:25:
/Users/mathieu/src/Cloverbootloader/OpenCorePkg/Include/Acidanthera/Library/OcMainLib.h:46:2: error: "Unknown target definition"
#error "Unknown target definition"
 ^
1 error generated.
note: Using new build system
note: Planning build
note: Constructing build description
** BUILD FAILED **

 

HEAD is now at c8e7ee0a Disable reading config.plist.
HEAD is now at 0bca61ad3 Handle multiple OpenRuntime version.

 

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

44 minutes ago, MifJpnAlphaPlus said:

Please let me know if I make a mistake.🙂

Thank you.

 

Thanks a lot 😊 I already use --recurse-sudmodules args, without success. Now, I create a new folder with your command line: all works.
Don't on an existing CloverBootloader folder. Strange.

  • Haha 1
Link to comment
Share on other sites

1 hour ago, Matgen84 said:

@Jief_Machak

I re-clone. Unfortunately, can't build again:
 

enerating BootSectors
make: Nothing to be done for `all'.
Done!
In file included from /Users/mathieu/src/Cloverbootloader/rEFIt_UEFI/Platform/platformdata.cpp:7:
In file included from /Users/mathieu/src/Cloverbootloader/rEFIt_UEFI/Platform/smbios.h:15:
In file included from /Users/mathieu/src/Cloverbootloader/rEFIt_UEFI/Platform/../Platform/cpu.h:15:
In file included from /Users/mathieu/src/Cloverbootloader/rEFIt_UEFI/Platform/../include/OC.h:25:
/Users/mathieu/src/Cloverbootloader/OpenCorePkg/Include/Acidanthera/Library/OcMainLib.h:46:2: error: "Unknown target definition"
#error "Unknown target definition"
 ^
1 error generated.
note: Using new build system
note: Planning build
note: Constructing build description
** BUILD FAILED **

 

HEAD is now at c8e7ee0a Disable reading config.plist.
HEAD is now at 0bca61ad3 Handle multiple OpenRuntime version.

 

Found the same. It's the validator.

Fixed.

It's fixed.

2 hours ago, MifJpnAlphaPlus said:

I'm sorry to have rushed you into such an important idea.
I want to cooperate fully!
I'll ansered your lead and hold off on the build for now.
I made the following log from the Clover, BLT, and OpenRuntime-v12.efi I received.

2021-09-25_08-45_CloverX64-2021-09-23-22-55-36-8f3b2f0-jief.efi.log.zip 21.18 kB · 2 downloads

Cannot boot.😞

I will open everything.

EFI.2109251753.zip
I know it is hard for you to use your precious time, but please help me.

Thank you very much.

Have you checked USB/FixOwnership ?

  • Thanks 2
Link to comment
Share on other sites

3 hours ago, Jief_Machak said:

I've re-assigned master, for both Clover and OpenCorePkg.

It means now that master is using 0.7.3 version of OpenCore : update your OpenRuntime.efi. And please, call it OpenRuntime-v12.efi. Reason for that is that, when we'll have a v13, the v12 will be automatically ignored and you'll be able to have OpenRuntime-v12.efi AND OpenRuntime-v13.efi in the same driver folder and Clover will pick the right one : no more panic when you'll switch version.

 

NOTE : please re-clone, or make sure that Clover AND OpenCorePkg pointing to the new master. I've tested with buildme and buildme XCODE8 from scratch, so if it doesn't compile, it's because you got a wrong version (old or deleted commit).

Maybe USB/FixOwnership is wrong ?

And old one can be renamed to -v11?

Link to comment
Share on other sites

×
×
  • Create New...