Jump to content

Clover General discussion


ErmaC
30,171 posts in this topic

Recommended Posts

11 hours ago, Slice said:

Tell me something more. Is there system-id changed after changing the Clover version?

yes. 

System-ID: old vs new - seems there is some swapping going on. not good!

3 variables changed actually. i printed out key items with iMessageDebug... 
before if I boot the system with OC or Clover - identical. but now clover is different.

Note: i would take system_ID after booting with clover and provide it for my OC config. so i presume the other variables shown here have a dependency on system-ID

 

$ diff im_old.txt im_new.txt

8c8

<       Hardware UUID: 32A12892-FA65-5EF5-9623-C62A7F2CDABD

---

>       Hardware UUID: 3759A000-6E97-545E-BBBC-E88DB235CB34

10c10

<           System-ID: ADC4A801-5149-11CB-94D0-CE1B8C4C5D31

---

>           System-ID: 01A8C4AD-4951-CB11-94D0-CE1B8C4C5D31

15c15

<           Fyp98tpgj: 736fe3ae7cd2d031bc44bd2701aa733715

---

>           Fyp98tpgj: 8c280c999254e1e95a419c2aea6fb89182

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

Guest 5T33Z0
On 5/1/2022 at 5:22 PM, MifJpnAlphaPlus said:

Hello.

After booting, I was told that there was a problem with my computer, I entered the setting Apple ID again and noticed the following.

Part of the interpretation of System-ID is as if it were little-endian.

CL.thumb.jpg.ae8b3f93af826b2160110389342b8574.jpg

Please help me.

Thank you.

 

I have battled with this issue most of the weekend. I had to enter and verify my Password time and time again after switching back and forth from Clover to OC and vice versa even though the data in both configs was Identical. I've used them for over a year before that without issues.

 

Here's how I fixed it: https://github.com/5T33Z0/Clover-Crate/tree/main/OC2Clover#troubleshooting

 

 

Edited by 5T33Z0
Link to comment
Share on other sites

58 minutes ago, 5T33Z0 said:

 

I have battled with this issue most of the weekend. I had to enter and verify my Password time and time again after switching back and forth from Clover to OC and vice versa even though the data in both configs was Identical. I've used them for over a year before that without issues.

 

Here's how I fixed it: https://github.com/5T33Z0/Clover-Crate/tree/main/OC2Clover#troubleshooting

 

 

Thank you for always being so kind and creating a page of summaries.
I actually noticed this first because of the differences with OpenCore.
Now that I know where Endian has changed, I was able to put it back together anyway.
It's good to know that I didn't have to use a new number since TimeMachiene will no longer be available.
Thank you so much.

Link to comment
Share on other sites

Guest 5T33Z0

@MifJpnAlphaPlus The big question is: what caused the change of Endianness. Was it Clover or OpenCore? And why does it only happen to the System-ID and only parts of it and not the whole string? Weird.

Link to comment
Share on other sites

19 minutes ago, 5T33Z0 said:

@MifJpnAlphaPlus The big question is: what caused the change of Endianness. Was it Clover or OpenCore? And why does it only happen to the System-ID and only parts of it and not the whole string? Weird.

Obviously the cause of the change is the commit by Jief_Machak.

I think I will fix the endianness so do not account current Clover as a final.

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

25 minutes ago, Slice said:

Obviously the cause of the change is the commit by Jief_Machak.

I think I will fix the endianness so do not account current Clover as a final.

Thanks for the quick reply.
Maybe here he is generalizing smUUID as XString8 class to EFI_GUID class.


https://github.com/CloverHackyColor/CloverBootloader/commit/1ea4700bd6eb4252555537adb4204339903ad7c0

 

So I feel that there might have been something that could not be generalized as smUUID.
It will be fixed soon, I think.
Thanks again.

  • Like 1
Link to comment
Share on other sites

Spoiler
rEFIt_UEFI/Platform/smbios.cpp

518:	////  XString8 g = GuidBeToXString8(SmbiosTable.Type1->Uuid); // should we use the "variant" field to know if it's LE or BE
519:	//  XString8 g = GuidLEToXString8(SmbiosTable.Type1->Uuid); // 2021-04 : this is a bug, the UUID will be swapped (read as a LE, sent as a BE). I leave for now because it doesn't really matter.
520:	  return SmbiosTable.Type1->Uuid;

 

Sorry if I am wrong.
From what I can see here, he has turned LittleEndian into a generalized EFI_GUID class as is, so I think this change is correct.
What I think is happening here, as others have said, is that it happened when we changed OpenCore.
I am very sorry because I am guessing, but it says in the code that the sm-UUID is passed in BE=BigEidian later. Could it be that it is OpenCore that is passing it?
I feel like maybe it is not being passed in BigEndian when it is passed.
If I can do it, I will try reading it some more.

Thank you so much.

Link to comment
Share on other sites

I'm a bit curious about something.


”// macOs treats all guids as BE guids, regardless of variant.”
It says.


However, it eliminates the conversion to BigEndian.
Sorry, I am not sure what it means.
How to define smUUID is not clear to me.
Please help me.

 

https://github.com/CloverHackyColor/CloverBootloader/commit/1ea4700bd6eb4252555537adb4204339903ad7c0#diff-4a0d88485435414cd08a60877d8d85a22d6a18c8d96cf19ae7fbecb43a77cc33L546-R549

Link to comment
Share on other sites

6 hours ago, 5T33Z0 said:

 

I have battled with this issue most of the weekend. I had to enter and verify my Password time and time again after switching back and forth from Clover to OC and vice versa even though the data in both configs was Identical. I've used them for over a year before that without issues.

 

Here's how I fixed it: https://github.com/5T33Z0/Clover-Crate/tree/main/OC2Clover#troubleshooting

 

 

ROM îs not necessary, UseMacAddr0 it works just fin. Also I never used Update Firmware Only. Rest is like in your tutorial and is what I did from some time with 7 hacks I play around, different tipes, always latest OS, OC, Clover commits.

Link to comment
Share on other sites

Guest 5T33Z0

@Slice @Jief_Machak There's still something wrong with commit 04e42c09e.

 

This is the data that is entered in the Clover Config. It's the same as in my OpenCore config:

 

SmUUID.png.0ddac0585ac824c928658183793f2f18.png

 

HardwareUUID.png.d31342e26f9f318ae8d40a933a31bf8d.png

 

After rebooting with CLover, I am being asked for AppleID Password again. Hackintool Shows Data, that I didn't enter. It looks like Clover is using the Custom UUID as System ID and not as Hardware ID and also reverses the Endianness of the first 2 groups. The original System ID isn't used at all:

 

Hackintool.png.e3c34b9ae652aef7e62b8a023afeebd7.png

 

On my 2nd test, I left the Custom UUID empty. Then the System ID is used, but the first 3 pairs of digits are reversed:

 

1331356015_Bildschirmfoto2022-05-03um08_02_44.png.ab660d8b752ffc3500f36c43eb78535d.png

 

After reverting to the release version of r5146 everything is working as expected.

Edited by 5T33Z0
Link to comment
Share on other sites

Hi everyone! Sorry @5T33Z0 and @Slice so is r5146 buggy then, or the subsequent commits to this official release?

Just to avoid confusion for the rest of us users that do not compile Clover via Builder but rely on official GitHub releases of yours.

Thank you for your confirmation.

Link to comment
Share on other sites

@Slice,Hi, Slice, I noticed that CLOVER uses rEFIt_uefi. Whether the clover switches from rEFIt to rEFInd again, I noticed that rEFIt has stopped updating for a period of time, and the maintenance of rEFInd is more active, and it has added a lot of modern characteristics.

In addition, there is a rEFIndPlus, which seems to have some repair for MacOS, adding some additional functions, which may have some good ideas as a reference.https://github.com/dakanji/refindplus

Link to comment
Share on other sites

Guest 5T33Z0
15 hours ago, Stefanalmare said:

ROM îs not necessary, UseMacAddr0 it works just fin. Also I never used Update Firmware Only. Rest is like in your tutorial and is what I did from some time with 7 hacks I play around, different tipes, always latest OS, OC, Clover commits.

 

ROM is a necessary value. It's just a question of where to get it from. If you select "MacAddr0" it uses the MAC Address of your Ethernet Controller. Otherwise you can enter a fake one and that's what the field is for.

You need to use "Update Firmware only" if you're working with an old config. If the firmeware dates back to far you will get an error message about outdated SMC firmware when trying to install macOS and the installer will just quit. So just to be safe, it's wise ti use this function.

Edited by 5T33Z0
Link to comment
Share on other sites

Spoiler
9 hours ago, 5T33Z0 said:

@Slice There's still something wrong with commit 04e42c09e.

 

This is the data that is entered in the Clover Config. It's the same as in my OpenCore config:

 

SmUUID.png.0ddac0585ac824c928658183793f2f18.png

 

HardwareUUID.png.d31342e26f9f318ae8d40a933a31bf8d.png

 

After rebooting with CLover, I am being asked for AppleID Password again. Hackintool Shows Data, that I didn't enter. It looks like Clover is using the Custom UUID as System ID and not as Hardware ID and also reverses the Endianness of the first 2 groups. The original System ID isn't used at all:

 

Hackintool.png.e3c34b9ae652aef7e62b8a023afeebd7.png

 

On my 2nd test, I left the Custom UUID empty. Then the System ID is used, but the first 3 pairs of digits are reversed:

 

1331356015_Bildschirmfoto2022-05-03um08_02_44.png.ab660d8b752ffc3500f36c43eb78535d.png

 

After reverting to the release version of r5146 everything is working as expected.

@5T33Z0

Me too・・・

 

 

Thank you so very much @Slice.
I am very sorry to show you my dirty fork source(in git-hub) as I don't know what @Jief_Machak's intentions are.

From my imagination, I would think that at some stage, smUUID would use the takeValueFromBE method of the EFI_GUID class in <Guid++.h> to swap the Endian.
 I could not understand how the takeValueFromBE method is implemented. (It looks like it is written the same way as above.)

So I used XString8 GuidBeToXString8(const EFI_GUID& Guid) in CloverBootloader/rEFIt_UEFI/Platform/guid.cpp, which I know how it works well.

 Tracing back through the flow of changes, in void PatchTableTypeType1(const SmbiosInjectedSettings& smbiosSettings) in rEFIt_UEFI/Platform/smbios.cpp, we previously had StrToGuidBE( smbiosSettings. SmUUID, &SmUUID); and it seemed to be swapping.

 So I looked at swapping Endian in this part of the DGB(...) output, and CopyMem seemed to be working, but in the end it didn't work.
 I think it is here that the SmUUID enters the structure from the flow, but ・・・・ is kind of strange.
 I'm not familiar with C++, so I'm just an amateur who wants to use cast operators with strict types like in C. So, I was just imitating what I saw.
I'm sorry.
 Reading it is a good way to learn.

For now, I'm going to try it if I can think of something.

 

Translated with www. DeepL.com/Translator (free version)

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

12 hours ago, 5T33Z0 said:

@Slice There's still something wrong with commit 04e42c09e.

 

This is the data that is entered in the Clover Config. It's the same as in my OpenCore config:

 

SmUUID.png.0ddac0585ac824c928658183793f2f18.png

 

HardwareUUID.png.d31342e26f9f318ae8d40a933a31bf8d.png

 

After rebooting with CLover, I am being asked for AppleID Password again. Hackintool Shows Data, that I didn't enter. It looks like Clover is using the Custom UUID as System ID and not as Hardware ID and also reverses the Endianness of the first 2 groups. The original System ID isn't used at all:

 

Hackintool.png.e3c34b9ae652aef7e62b8a023afeebd7.png

 

On my 2nd test, I left the Custom UUID empty. Then the System ID is used, but the first 3 pairs of digits are reversed:

 

1331356015_Bildschirmfoto2022-05-03um08_02_44.png.ab660d8b752ffc3500f36c43eb78535d.png

 

After reverting to the release version of r5146 everything is working as expected.

Look for 

config.plist->SystemParameters->InjectSystemID=YES

or NO

It will influence on this case.

 

 

 

6 hours ago, y010204025 said:

@Slice,Hi, Slice, I noticed that CLOVER uses rEFIt_uefi. Whether the clover switches from rEFIt to rEFInd again, I noticed that rEFIt has stopped updating for a period of time, and the maintenance of rEFInd is more active, and it has added a lot of modern characteristics.

In addition, there is a rEFIndPlus, which seems to have some repair for MacOS, adding some additional functions, which may have some good ideas as a reference.https://github.com/dakanji/refindplus

This is just an advertisement of rEFind.

It appears after Clover and uses our technologies.

But we live in different worlds. Clover is for Hackintosh while rEFInd is for native Mac.

  • Like 1
Link to comment
Share on other sites

On 5/2/2022 at 8:40 PM, Slice said:

I restored old smUUID behavior and returned to old AppleID.

commit 04e42c09e

compiles and works great. no issues here. thanks.

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

 

16 hours ago, tluck said:

compiles and works great. no issues here. thanks.

@tluck. It was good.
Here is a summary of the problems.

The release version is as follows. (31187f6e1):InjectSystemID=ture

Spoiler

1573384894_2022-05-067_31_25.thumb.png.e062dc8b74f5717670977a5ad621df46.png

2022-05-05_22-28_CLOVERX64.31187f6e1.efi.log

 

 

 

The current version is as follows. (04e42c09e):InjectSystemID=True

780083209_2022-05-067_05_32.thumb.png.e176b04a5f6a0b191048eade758ff3a7.png

Spoiler

511474450_2022-05-067_25_25.thumb.png.95e2a5805859e97d8478de6c1ea48072.png

 

2022-05-05_22-13_CLOVERX64.04e42c09e.efi.log

CloverV2-5146.zip

@Slice has gone to a lot of trouble to fix this, but for some reason I can't get the DGB=got LE smUUID to show up.
Is it a different Type of SMBIOS?

config.plist
Help me please.

 

 

each version,InjectSystemID=No

Spoiler

850848304_2022-05-068_04_46.thumb.png.fcff5db65614b2b20671f0a1b3e35c38.png

 

config.plist

 

I fixed MLB, firmware, and other minor details, but it seems to be the same. (Sad)

newconfig.plist

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

Guest 5T33Z0

Some thoughts about some "defaults" of Clover:

  • In the zip package, why is FSInject still present in the Drivers/UEFI folder when OpenRuntime handles Kext injetion now? This is only required when using Clover ≤ r5123  with old Aptio memory fixes which are no longer supported.
  • The default set of drivers is pretty much useless for UEFI systems. The default set of drivers should be: ApfsDriverLoader.efi,  VBoxHfs.efi, and OpenRuntime.efi
  • The sample config, especially the ACPI section is a complete mess as well.
Link to comment
Share on other sites

4 hours ago, 5T33Z0 said:

Some thoughts about some "defaults" of Clover:

  • In the zip package, why is FSInject still present in the Drivers/UEFI folder when OpenRuntime handles Kext injetion now? This is only required when using Clover ≤ r5123  with old Aptio memory fixes which are no longer supported.
  • The default set of drivers is pretty much useless for UEFI systems. The default set of drivers should be: ApfsDriverLoader.efi,  VBoxHfs.efi, and OpenRuntime.efi
  • The sample config, especially the ACPI section is a complete mess as well.

Thanks for the notes. I will think about. As far as I remember there are drivers that installed by default and drivers absent by default. I will check this.

FSInject is obsolete for new systems but it still can be used for 10.7.5 if I am not wrong.

config-sample contains all possible keys but mostly commented out to be used only by clever users.

  • Like 3
Link to comment
Share on other sites

7 hours ago, 5T33Z0 said:

 

  • The default set of drivers is pretty much useless for UEFI systems. The default set of drivers should be: ApfsDriverLoader.efi,  VBoxHfs.efi, and OpenRuntime.efi
  •  

I still will also recommend drivers to be default: 

Fat.efi - it improves AMI UEFI embedded FAT32 drivers used for EFI partition. The FAT32 file system is very fragile. Our Fat.efi driver much better then one in UEFI BIOS.

SMCHelper.efi if you are using FakeSMC and not using VirtualSMC. Anyway the author of VirtualSMC claims the driver is not compatible with Clover. FakeSMC is.

EnglishDxe.efi - it will provide good UnicodeCollation protocol used by Shell.efi. Sometimes this protocol absent or has bad realisation. It is safe driver even if present twice it will not break anything.

 

 

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...