Jump to content

Clover General discussion


ErmaC
29,866 posts in this topic

Recommended Posts

Also on 10.13.3: Clover 4400 ends with installation error.

 

Install Clover in the ESP does no longer work in 4400. Never had this issue before. Just possible to install EFI folder on the system partition. Updating EFI on EFI partition by hand is kind of risky.

 

4398 still worked.

Link to comment
Share on other sites

So would you recommend updating all my older patches to include the full name, for a minuscule boot speed improvement?

It's not about speed improvement. It's because some bundle ids are substrings of other bundle ids. This was discovered on

AppleIntelKBLGraphics

AppleIntelKBLGraphicsFramebuffer

 

So if you want to patch AppleIntelKBLGraphics and use partial name, your patch is also applied to AppleIntelKBLGraphicsFramebuffer and puts you at risk of a spurious incorrect patch (this actually happened).

 

If bundle-id is not a substring of another bundle-id - you can continue to use partial name.

If it's a substring of another bundle-id use full bundle name for exact match.

  • Like 4
Link to comment
Share on other sites

It's not about speed improvement. It's because some bundle ids are substrings of other bundle ids. This was discovered on

AppleIntelKBLGraphics

AppleIntelKBLGraphicsFramebuffer

 

So if you want to patch AppleIntelKBLGraphics and use partial name, your patch is also applied to AppleIntelKBLGraphicsFramebuffer and puts you at risk of a spurious incorrect patch (this actually happened).

 

If bundle-id is not a substring of another bundle-id - you can continue to use partial name.

If it's a substring of another bundle-id use full bundle name for exact match.

Bottom line: it is safer (therefore, recommended) to use the complete bundle-id for Name specifications in KextsToPatch.

  • Like 1
Link to comment
Share on other sites

I know what the functions do, I asked for the choice... Why support partial matches?

 

That was my point, I don't know. Why would it partially match exact case? No clue, I didn't write it.... I guess to make it easier, but I think it should be StriCmp, to match the full string case insensitive.

Link to comment
Share on other sites

Why is StrStr used rather than StrCmp?

StrStr is used if the Name specified does not have any '.' characters.

I would bet that was done to enhance backward compatibility.

 

For partial matches....? Why is it not StriStr or StriCmp?

Typically, we accept case sensitivity.

Link to comment
Share on other sites

Why support partial matches?

What difference does it make anymore? It's needed for backward compatibility now. Removing it will break almost all existing config.plist.

 

The case sensitivity I think is dictated because Apple bundle-ids are case-sensitive.

 

Reference for build-ids.

Edited by Zenith432
Link to comment
Share on other sites

StrStr is used if the Name specified does not have any '.' characters.

I would bet that was done to enhance backward compatibility.

Typically, we accept case sensitivity.

 

I understand, but that doesn't solve the issue. Because as brought up before there are some that don't have '.' characters and are sub-strings of other bundle-ids. I have no problem with backwards compatibility, but this should be deprecated, spit out a warning, and eventually removed. It's not really beneficial to remain backwards compatible at risk of bugs.

 

What difference does it make anymore? It's needed for backward compatibility now. Removing it will break almost all existing config.plist.

 

The case sensitivity I think is dictated because Apple bundle-ids are case-sensitive. Haven't verified this, just guessing.

 

I am not sure if you notice but config.plist is broken by changes constantly. I think it's best to just match the whole bundle-id. I doubt very much they are case sensitive, why would they want two drivers with the same but different cased bundle-id? That would be really confusing.

 

EDIT:

 

Reference for build-ids.

 

So they are case sensitive. Then we should just use StrCmp for all, and deprecate and eventually remove the previous partial matching.

Link to comment
Share on other sites

@Slice

in latest clover package, always force to check. because package always remove this file

post-980913-0-00736600-1517932154_thumb.png

 

this driver must be use to boot snow leopard and lion. its important.

rehabman also revert this driver in package. no need this before(check) in old package.

 

i always checked before after fresh install

post-980913-0-43859800-1517932562_thumb.png

 

can we consider again?

https://github.com/RehabMan/Clover/commit/541fa44f4de26b75e32a33d282e90d826288481c

 

my driver list

0:149  0:002  Loading apfs.efi  status=Success
0:152  0:003   - driver needs connecting
0:152  0:000  Loading AppleImageCodec-64.efi  status=Success
0:152  0:000  Loading AppleKeyAggregator-64.efi  status=Success
0:152  0:000  Loading AppleUITheme-64.efi  status=Success
0:152  0:000  Loading DataHubDxe-64.efi  status=Success
0:153  0:000  Loading EmuVariableUefi-64.efi  status=Success
0:155  0:001  EmuVariableUefi Initialize: VariableCommonInitialize = Success, orig services stored, install gEmuVariableControlProtocolGuid = Success
0:155  0:000  Loading Fat-64.efi  status=Success
0:155  0:000   - driver needs connecting
0:155  0:000  Loading FirmwareVolume-64.efi  status=Success
0:155  0:000  Loading FSInject-64.efi  status=Success
0:155  0:000  Loading HFSPlus.efi  status=Success
0:155  0:000   - driver needs connecting
0:155  0:000  Loading HPFanReset.efi  status=Success
0:246  0:091  HPFanReset: successfully set fan control to BIOS mode.
0:246  0:000  Loading OsxFatBinaryDrv-64.efi  status=Success
0:246  0:000  Loading SMCHelper-64.efi  status=Success
0:248  0:001  Loading AptioMemoryFix.efi  status=Success
0:248  0:000  3 drivers needs connecting ...
0:248  0:000  PlatformDriverOverrideProtocol not found. Installing ... Success
0:248  0:000  HFS+ driver loaded
0:248  0:000  APFS driver loaded
 
package now touch only OsxFatBinaryDrv-64 when install clover.
Link to comment
Share on other sites

@Slice

in latest clover package, always force to check. because package always remove this file

attachicon.gif스크린샷 2018-02-07 오전 12.48.49.png

 

this driver must be use to boot snow leopard and lion. its important.

rehabman also revert this driver in package. no need this before(check) in old package.

Yeah, I wasted at least a few hours of my life determining why SL 10.6.8 failed to boot after installing the latest Clover.

I didn't see any reason to remove this efi driver as it is needed by Lion/SL (due to kexts being 32-bit/64-bit), so I reverted the change in my Clover build (I don't like breaking things that used to work for no good reason).

  • Like 1
Link to comment
Share on other sites

Yeah, I wasted at least a few hours of my life determining why SL 10.6.8 failed to boot after installing the latest Clover.

I didn't see any reason to remove this efi driver as it is needed by Lion/SL (due to kexts being 32-bit/64-bit), so I reverted the change in my Clover build (I don't like breaking things that used to work for no good reason).

Right. Me too. I spent some times to find reason.

Hope revert this file back. Thank you for reason with commit.

 

나의 LG-F800S 의 Tapatalk에서 보냄

Link to comment
Share on other sites

Yeah, that driver should not have been modified/removed from installer, unless we are saying that there is no longer support below ML? I don't think that's the case quite yet.

 

@Sherlocks or Philip,

 

Can one of you two please revert that change and put the driver back in the installer? Also is there any way to further group the drivers together under more types, like grouping all the AptioFixes and only allowing one to be picked, or drivers needed for SL/Lion, Graphics, Input, etc.

Link to comment
Share on other sites

Right. Me too. I spent some times to find reason.

Hope revert this file back. Thank you for reason with commit.

 

나의 LG-F800S 의 Tapatalk에서 보냄

And that particular change was especially hard to find due to it being buried in an unrelated commit: "Book may have desktop CPU".

I *might* have used some four letter words when I found that!

  • Like 1
Link to comment
Share on other sites

And that particular change was especially hard to find due to it being buried in an unrelated commit: "Book may have desktop CPU".

I *might* have used some four letter words when I found that!

 

Are you serious???? Jesus. That's a terrible message for any commit, like what on Earth does that mean? There is no commit review feature on sourceforge without implementing very complex hooks methods, at least I don't think. Maybe it may be time to go over to github so commits can be reviewed.... I don't know though, that's a lot of work...

 

EDIT: You can go to a file and click history in the upper right on sourceforge and it will tell you every time the file was changed. That can make it easier to trace a change you know where it is.

  • Like 2
Link to comment
Share on other sites

Yeah, that driver should not have been modified/removed from installer, unless we are saying that there is no longer support below ML? I don't think that's the case quite yet.

 

@Sherlocks or Philip,

 

Can one of you two please revert that change and put the driver back in the installer? Also is there any way to further group the drivers together under more types, like grouping all the AptioFixes and only allowing one to be picked, or drivers needed for SL/Lion, Graphics, Input, etc.

Done in r4402.

 

EDIT: sorry, my bad, it's r4403. Forgot that two packages with the same name (identifier) can't exist in the distribution.

 

EDIT2: can't believe I made such stupid mistake... r4404 on the way.

Link to comment
Share on other sites

 

@Slice

in latest clover package, always force to check. because package always remove this file

 

 

And now I force to uncheck this driver because I install for 10.11+ systems.

It must be optional!

We should check it by default but not mandatory.

  • Like 2
Link to comment
Share on other sites

And now I force to uncheck this driver because I install for 10.11+ systems.

It must be optional!

We should check it by default but not mandatory.

So, if user has this driver in folder, can clover package check whether exist? Then if there is file, skip remove.

This process shown case "fat-64.efi".

I tested this file with package.

 

I have this file and install clover. Still i have fat-64.efi. I didnt touch any uefi64 entry when install clover.

 

Can you consider like fat-64, aptiomemoryfix, aptiofix series process?

 

나의 LG-F800S 의 Tapatalk에서 보냄

Done in r4402.

 

EDIT: sorry, my bad, it's r4403. Forgot that two packages with the same name (identifier) can't exist in the distribution.

 

EDIT2: can't believe I made such stupid mistake... r4404 on the way.

@Philip Petev

I have a question. If i select some uefi64 driver in clover package when install clover and installed clover. Next time, clover package again, clover package remember i selected uefi64 driver. If i want to cleanup option like after install fresh macos. Where is store that i selected option in MacOS partition?

 

Thanks in advance

 

나의 LG-F800S 의 Tapatalk에서 보냄

Link to comment
Share on other sites

I'm confused, why is it just not checked by default if there was no previous installation? There is some sort of previous installation information somewhere isn't there? As I recall there is a record of the options selected for the installer in the OS somewhere. If not, would be fairly easy to create one. Then, if there is previous install, check the driver exists, if exists then check the box, and remove the driver if then unchecked.


Done in r4402.

 

EDIT: sorry, my bad, it's r4403. Forgot that two packages with the same name (identifier) can't exist in the distribution.

 

EDIT2: can't believe I made such stupid mistake... r4404 on the way.

 

Need that git commit --amend! Haha!

 

Three commits just for one line in a script!? Are you kidding?

 

It happens, I do this all the time.

  • Like 1
Link to comment
Share on other sites

@Philip Petev

I have a question. If i select some uefi64 driver in clover package when install clover and installed clover. Next time, clover package again, clover package remember i selected uefi64 driver. If i want to cleanup option like after install fresh macos. Where is store that i selected option in MacOS partition?

 

Thanks in advance

 

나의 LG-F800S 의 Tapatalk에서 보냄

 

It's /Library/Preferences/com.projectosx.clover.installer.plist.

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...