Jump to content
30960 posts in this topic

Recommended Posts

the way i solved this was

1) rename /EFI/Microsoft to EFI/M

2) now you can boot clover

3) use the add clover boot option to list Clover explicity in BIOS

4) rename EFI/M back 

5) set the boot order priority to make sure Clover is first

Rename

/EFI/Microsoft/boot/bootmgfw.efi -> /EFI/Microsoft/boot/bootmgfw-orig.efi

/EFI/CLOVER/CLOVERX64.efi -> /EFI/Microsoft/boot/bootmgfw.efi

Tried both but still that doesn't help me and still i cant boot to OSX without the installer USB also try formatting the ESP drive and copy from EFI back-up from OS drive.this also doesn't help i am out of idea. Anyone pls help me

That certainly helped find the problem, because stock GCC5 toolchain build breaks in CpuDxe instead of generating code that crashes.

Maybe if Clover used the stock standard tools_def.txt and build_rule.txt and GccBase.lds it will compile ok.

  • Like 1

Im currently using clover legacy and installed it on the HFS partition where macOS resides. I want to migrate to EFI legacy. How will i be able to undo the changes without formatting macOS?

Use Clover Installer to install new Clover into EFI.

Снимок экрана 2017-12-14 в 07.45.12.png

Снимок экрана 2017-12-14 в 07.45.20.png

Снимок экрана 2017-12-14 в 07.45.30.png

  • Like 2

It doesn't work though. I get black screen unless I explicitly set Graphics/Inject(/Intel)=false. I have no idea what was ioreg before, don't have time to run a bunch of tests to figure it out... I also don't see where ricoc90's problem was resolved... I used to be able to boot with iMac12,1 or 12,2 and MacMini5,1 but now I can only boot as iMac. Since the MacMini5,1 is the only model that has HD3000 graphics, I'm guessing that the device id or snb-platform-id is injected wrong for my CPU....

 

Built, no. But you asked for an older package and I linked you every package ever released, lol. Grab it out of r4297, if that works, but the last change to AptioFix was 4270... So I'm guessing that it's something else, maybe EDK2 sync, did you build it yourself or get from sf.net?

 

 

From SF and maybe since 4270, when I installed 4293 then 4297 I did not refresh aptio but in 4334 I did.  So if there was a change in 4270 I may have not refreshed aptio in drivers64UEFI since then. 

 

It seems to have only affected my Asus Maximus Hero VIII Z170 board but not my Asus Haswell Laptop?  I have not tried my other desktops yet just the Hero and the Asus laptop.

 

I did as you said grabbed an Aptio from an earlier package and all good now.

 

Ok I just thought about this I actually did the refresh of drivers64UEFI after installing the latest Clover 4334, then using Clover Configurator I refreshed the drivers again don't ask me why I just did, there is a section install drivers so it must be grabbing the wrong Aptiov1 and not the one that the latest Clover PKG installer would install because if I just use the Clover PKG installer and tick Aptio I believe all is good.  So this must be my fault trusting CC drivers, I wonder where CC grabs the drivers from? Now I can see why CC is not really an approved app to use at this point.

  • Like 2

This is a sort of noob question:

clover generates a  bootx64.efi right?

So if I use that I don't get an auto boot into my mac drive.

If I use boot.efi, which I don't really know where this file lives, I get the auto boot into the os x.

Do I live with this or is my clover wrong in some way?

This is a sort of noob question:

clover generates a  bootx64.efi right?

So if I use that I don't get an auto boot into my mac drive.

If I use boot.efi, which I don't really know where this file lives, I get the auto boot into the os x.

Do I live with this or is my clover wrong in some way?

Sorry I don't understand you. How did you propose to use boot.efi? By what?

So when I boot Clover, OS 10.13.2

No kext injection

SIP disabled

chosen/memory-map contains 3 entries

name/FailedCLUT/FailedImage

I get the 3 messages in log show kernel: "FailedCLUT" not a kext, etc...

 

Could be a bug? Clover should not patch  readStartupExtension when nothing to inject.

 

As I understand, the problem (unexpected feature?) not in injection itself, but in the order of injection.

 

Maybe true. I have tried to inject dummy  KextExcludeList and I have only 2 msgs left now with my 10.12. So the 1st order must be a dummy KextExcludeList to break the loop?

  • Like 1

I can't find the string readStartupExtension in Clover and have no idea what you're talking about.

 

The macOS either loads prelinkedkernel or booter kexts. As we want to use prelinkedkernel for speed but also have kext injection, Clover patches the conditional jump so both run. cecek is suggesting this should not happen when there are no kexts to inject.

  • Like 3

Sorry I don't understand you. How did you propose to use boot.efi? By what?

 

In the Clover Configurator, Boot tab, I enter the default loader. If I enter bootx64.efi it won't  auto boot. If I enter boot.efi it does.

 

edit: If I leave it blank it also auto boots. So I guess the boot.efi thing in that field is just something I saw once and left it in...

  • Like 1

The macOS either loads prelinkedkernel or booter kexts. As we want to use prelinkedkernel for speed but also have kext injection, Clover patches the conditional jump so both run. cecek is suggesting this should not happen when there are no kexts to inject.

If Clover is already patching the kernel for booter kexts, why not revert to what I said here and patch the kernel to make the messages go away?  What cecekpawon said may make the messages go away when there's no injection, but will still be there with injection.

 

PS: I realise that this may be the reason why in VMware the injected kexts are left hanging around.  Because the firmware injects them, but does not patch the kernel, so they're ignored.  This also explains why the messages are not appearing in VMware.

  • Like 2

I can't find the string readStartupExtension in Clover and have no idea what you're talking about.

It is XNU/libsa/bootstrap.cpp

void
KLDBootstrap::readStartupExtensions(void)
{
    kernel_section_t * prelinkInfoSect = NULL;  // do not free

    OSKextLog(/* kext */ NULL,
        kOSKextLogProgressLevel |
        kOSKextLogGeneralFlag | kOSKextLogDirectoryScanFlag |
        kOSKextLogKextBookkeepingFlag,
        "Reading startup extensions.");
    
   /* If the prelink info segment has a nonzero size, we are prelinked
    * and won't have any individual kexts or mkexts to read.
    * Otherwise, we need to read kexts or the mkext from what the booter
    * has handed us.
    */
    prelinkInfoSect = getsectbyname(kPrelinkInfoSegment, kPrelinkInfoSection);
    if (prelinkInfoSect->size) {
        readPrelinkedExtensions(prelinkInfoSect);
    } else {
        readBooterExtensions();
    }

    loadKernelComponentKexts();
    loadKernelExternalComponents();
    readBuiltinPersonalities();
    OSKext::sendAllKextPersonalitiesToCatalog();

    return;
}

Clover patches this codes in kernel to remove "else {" so kernel readBooterExtensions after readPrelinkedExtensions.

  • Like 2

3. There actually is, I discovered that the current Clover kext injection implementation does not properly inject Info.plists, for some reason OSKextExcludeList will not be present in a kext injected by Clover effectively making XNU to panic.

I confirmed that with my 10.13 :)

In other case, I have bad experienced injecting plist with CRLF line ending edited from Windows may causing panic. So it would be nice if Clover take care of that before injecting something.

  • Like 1

Is the embedded theme missing apfs icons? Please add them (re-use hfs icons to save space)...

if an icon missing then clover used some common icon. I don't think embedded theme should be advanced. If user wants beauty theme he can choose it.

Does clover legacy have an integrated apfs driver?

No, it is too large. Clover legacy (boot file) is restricted in size. All drivers it can load external.

  • Like 2

i have a question

https://sourceforge.net/p/cloverefiboot/code/4359/tree//rEFIt_UEFI/Platform/gma.c?diff=504c3833fd48f873331ebd05:4358

 

do these keys have a benefit?

i want to know role of these key.

 

newer portable mac series do not have this key.

also seems to consider desktop case.

 

thanks

i have a question

https://sourceforge.net/p/cloverefiboot/code/4359/tree//rEFIt_UEFI/Platform/gma.c?diff=504c3833fd48f873331ebd05:4358

 

do these keys have a benefit?

i want to know role of these key.

 

newer portable mac series do not have this key.

also seems to consider desktop case.

 

thanks

According to my experience, they are not needed for Intel graphics, but for nvidia mobile cards i need the backlight-control entries.

  • Like 1
×
×
  • Create New...