Jief_Machak Posted September 9, 2020 Share Posted September 9, 2020 33 minutes ago, Download-Fritz said: Why do you hardcode kext names for injection order? Just to go quicker and avoid some work if in the end we don't keep that solution. My point is still "can it work ?". But I wouldn't keep in a final revision. 36 minutes ago, Download-Fritz said: instead figure out how to design the library interfaces to work well for both projects 100% agree. If we could for example design a library for kext injection, I would certainly use that instead of integrate the whole thing. Also, it's not a really fork as I (almost) didn't modify your code. This experiment is to see if we can use OC component without duplicate them and having to maintain a copy. Slice is more up for a fork, I think. He'd prefer that we copy what we need and maintain that separate copy. A shard library is the answer, for sure ! 2 Link to comment Share on other sites More sharing options...
chris1111 Posted September 9, 2020 Share Posted September 9, 2020 43 minutes ago, Jief_Machak said: You stopped at 21:471 0:082 OSInfo:OSName called 21:485 0:014 OSInfo:OSVendor called Same as Slice and Matgen84. Let's hope booter quirks solve the problem : add this (change the true and false, obviously and set them like you have them in your OC clover.plist) to your Clover config.plist. Do not put in in any section. See mine if you're unsure. <key>OcBooter</key> <dict> <key>MmioWhitelist</key> <array/> <key>Quirks</key> <dict> <key>AvoidRuntimeDefrag</key> <true/> <key>DevirtualiseMmio</key> <false/> <key>DisableSingleUser</key> <false/> <key>DisableVariableWrite</key> <false/> <key>DiscardHibernateMap</key> <false/> <key>EnableSafeModeSlide</key> <true/> <key>EnableWriteUnprotector</key> <false/> <key>ForceExitBootServices</key> <false/> <key>ProtectMemoryRegions</key> <false/> <key>ProtectSecureBoot</key> <false/> <key>ProtectUefiServices</key> <true/> <key>ProvideCustomSlide</key> <true/> <key>ProvideMaxSlide</key> <integer>0</integer> <key>RebuildAppleMemoryMap</key> <true/> <key>SetupVirtualMap</key> <true/> <key>SignalAppleOS</key> <false/> <key>SyncRuntimePermissions</key> <true/> </dict> </dict> Here is the efi. config.plist CloverX64.efi.zip Same 32:928 0:219 OSInfo:OSName called 32:977 0:048 OSInfo:OSVendor called Link to comment Share on other sites More sharing options...
Slice Posted September 9, 2020 Share Posted September 9, 2020 Tested Clover revision: 5122 (opencore_integration, commit 86f90ef0d) without success. I excluded OcQuirks and written quirks into config.plist according to latest sample. BigSur stopped as usual after [EB|#B:VAw] More interesting is Mojave. The full picture (with older Clover) looks like on photo Spoiler These lines came from Boot.efi Mojave version. But with new Clover the process stopped after line "End ProcessOptions". So I may propose that the command "RegisterRestartDataProtocol" hanged. It may happen because OC overrides some UEFI services. I can't boot with new Clover because of this and can't boot with old Clover because of absent OcQuirks. Link to comment Share on other sites More sharing options...
Jief_Machak Posted September 9, 2020 Share Posted September 9, 2020 I don't understand why this "new" clover wouldn't boot Mojave. I barely touch the code. All the OC initialisation are in StartLoader11. I've just tried to boot High Sierra Mojave and it worked. But of course, if you need AptioMemoryFix or OcQuirks, you need to put it back, even for this "clover". If we'd like to keep this branch, we'll have to resolve this conflict where AptioMemoryFix or OcQuirks is needed to boot version 10, but has not not be loaded for 11. We can also decide to boot everything through OC, so AptioMemoryFix or OcQuirks will just has to be removed for any version. Again, because I didn't know if it could work, or, even if it works, if we keep it that way, I didn't want to spend time solving that problem. Link to comment Share on other sites More sharing options...
iCanaro Posted September 9, 2020 Share Posted September 9, 2020 sorry if I intrude, but from my point of view, now that in Clover, in his config.plist and from the GUI to boot you can operate on the setting of ocquirks and openruntime, why ever use the valid AptioMemoryFix, but now a little outdated? Isn't it better to focus on just ocquirks that can operate a bit with all the hardware?! 1 Link to comment Share on other sites More sharing options...
Jief_Machak Posted September 10, 2020 Share Posted September 10, 2020 I don't really understand these OcQuirks.efi in Clover. Consider "DisableSingleUser" for example. OK, settings are initialised in an OC struct somewhere. But if Clover doesn't call the boot process in OC, I guess that this settings has no effect. So my question is : for people who currently has it with "regular" clover and 10.x version, for what setting do you need it ? If you remove it, what happens ? Link to comment Share on other sites More sharing options...
Matgen84 Posted September 10, 2020 Share Posted September 10, 2020 31 minutes ago, Jief_Machak said: I don't really understand these OcQuirks.efi in Clover. Consider "DisableSingleUser" for example. OK, settings are initialised in an OC struct somewhere. But if Clover doesn't call the boot process in OC, I guess that this settings has no effect. So my question is : for people who currently has it with "regular" clover and 10.x version, for what setting do you need it ? If you remove it, what happens ? Hi @Jief_Machak OcQuirks.efi beside Openruntime replace my old AptioMemoryFix. This is why, I use them to avoid error memory allocation for the kernel on my Z390 config. If I understand well. I ask you several time if I've to remove too Openruntime.efi in /Drivers/UEFI for testing OpenCore_integration. Tell me. Sorry, always my bad english Link to comment Share on other sites More sharing options...
Slice Posted September 10, 2020 Share Posted September 10, 2020 59 minutes ago, Jief_Machak said: I don't really understand these OcQuirks.efi in Clover. Consider "DisableSingleUser" for example. OK, settings are initialised in an OC struct somewhere. But if Clover doesn't call the boot process in OC, I guess that this settings has no effect. So my question is : for people who currently has it with "regular" clover and 10.x version, for what setting do you need it ? If you remove it, what happens ? Default values are in config-sample.plist and it works almost for all without special tuning. vit9696 introduced switchable quirks for the debug purpose or to boot real Macs. Link to comment Share on other sites More sharing options...
Jief_Machak Posted September 10, 2020 Share Posted September 10, 2020 31 minutes ago, Matgen84 said: if I've to remove too Openruntime.efi in /Drivers/UEFI for testing OpenCore_integration Yes, keep it. 13 minutes ago, Slice said: Default values are in config-sample.plist and it works almost for all without special tuning. vit9696 introduced switchable quirks for the debug purpose or to boot real Macs. My question was : most (if not all) of these settings does nothing with "regular" Clover, the one that doesn't use OC, right ? 1 Link to comment Share on other sites More sharing options...
Matgen84 Posted September 10, 2020 Share Posted September 10, 2020 Hi @Jief_Machak @Slice I use git pull to update OpenCore_integration branch. But debug.log shows wrong date, wrong commit. What's going on ? Thanks Link to comment Share on other sites More sharing options...
Jief_Machak Posted September 10, 2020 Share Posted September 10, 2020 Depending of the compilation command you use, the version information are not always updated. To be sure, delete Version.h and Build folder and recompile. 1 Link to comment Share on other sites More sharing options...
Matgen84 Posted September 10, 2020 Share Posted September 10, 2020 5 minutes ago, Jief_Machak said: Depending of the compilation command you use, the version information are not always updated. To be sure, delete Version.h and Build folder and recompile. I do what you explain to me now. I use this command: ./ebuild.sh --buildtarget=DEBUG. Because I see in build that default toolchain is Xcode8. Link to comment Share on other sites More sharing options...
Slice Posted September 10, 2020 Share Posted September 10, 2020 27 minutes ago, Jief_Machak said: My question was : most (if not all) of these settings does nothing with "regular" Clover, the one that doesn't use OC, right ? All quirks that enabled perform very useful actions to boot macOS. Strictly speaking AptioMemoryFix == OpenRuntime+OcQuirks AptioMemoryFix is somehow obsolete because new quirks was introduced. 2 Link to comment Share on other sites More sharing options...
Jief_Machak Posted September 10, 2020 Share Posted September 10, 2020 16 minutes ago, Matgen84 said: ./ebuild.sh --buildtarget=DEBUG With this command, Version.h is not updated, but it's created with the up-to-date info if missing. So if you do rm -f Version.h & ./ebuild.sh --buildtarget=DEBUG you should have an always up-to-date version info. 1 Link to comment Share on other sites More sharing options...
fusion71au Posted September 10, 2020 Share Posted September 10, 2020 Feeling nostalgic for booting old macOS on my legacy BIOS desktop (System 2, Ga-P55aUD3), I decided to test the latest release Clover r5122. Good news: r5122 boots 10.7.5, 10.13.6 and 10.15.6 OK Not so good news: Clover r5120-5122 seems to have broken kext injection when booting Snow Leopard 10.6.8 ---> boot hang "failed to locate SMC driver"... Spoiler Comparing Clover r5122 boot-log for Lion (which boots OK)… 40:547 0:000 Beginning FSInjection FSInjectionInstall ... - Our FSI_SIMPLE_FILE_SYSTEM_PROTOCOL installed on handle: DCD5DC98 FSInjectionInstall ... - Our FSI_SIMPLE_FILE_SYSTEM_PROTOCOL installed on handle: DCD5DC98 40:560 0:013 Use origin smbios table type 1 guid. 40:561 0:000 UniOSVersion == 10.7.5 40:561 0:000 UniShortOSVersion == 10.7 40:561 0:000 Preparing kexts injection from EFI\CLOVER\kexts\Other 40:561 0:000 ->Extra kext: EFI\CLOVER\kexts\Other\RealtekRTL8111.kext (v.1.2.3) 40:657 0:096 ->Extra kext: EFI\CLOVER\kexts\Other\FakeSMC.kext (v.3.3.1) 40:714 0:056 |-- PlugIn kext: EFI\CLOVER\kexts\Other\FakeSMC.kext\Contents\PlugIns\IntelCPUMonitor.kext (v.1.1) 40:742 0:028 GetOtherKextsDir(FALSE) return NULL 40:742 0:000 Preparing kexts injection from EFI\CLOVER\kexts\10 40:742 0:000 Preparing kexts injection from EFI\CLOVER\kexts\10_normal 40:742 0:000 Preparing kexts injection from EFI\CLOVER\kexts\10.7 40:742 0:000 Preparing kexts injection from EFI\CLOVER\kexts\10.7_normal 40:742 0:000 Preparing kexts injection from EFI\CLOVER\kexts\10.7.5 40:742 0:000 Preparing kexts injection from EFI\CLOVER\kexts\10.7.5_normal with Clover r5122 boot-log for Snow Leopard (which hangs)… 365:851 0:462 Beginning FSInjection 366:326 0:475 Use origin smbios table type 1 guid. 366:788 0:461 UniOSVersion == 10.6.8 367:249 0:461 UniShortOSVersion == 10.6 367:711 0:461 Preparing kexts injection from EFI\CLOVER\kexts\Other 368:173 0:462 ->Extra kext: EFI\CLOVER\kexts\Other\RealtekRTL8111.kext (v.1.2.3) 368:731 0:558 ->Extra kext: EFI\CLOVER\kexts\Other\FakeSMC.kext (v.3.3.1) 369:247 0:515 |-- PlugIn kext: EFI\CLOVER\kexts\Other\FakeSMC.kext\Contents\PlugIns\IntelCPUMonitor.kext (v.1.1) 369:734 0:487 GetOtherKextsDir(FALSE) return NULL 370:123 0:388 Preparing kexts injection from EFI\CLOVER\kexts\10 370:602 0:479 Preparing kexts injection from EFI\CLOVER\kexts\10_normal 371:066 0:463 Preparing kexts injection from EFI\CLOVER\kexts\10.6 371:526 0:460 Preparing kexts injection from EFI\CLOVER\kexts\10.6_normal 371:988 0:461 Preparing kexts injection from EFI\CLOVER\kexts\10.6.8 372:447 0:459 Preparing kexts injection from EFI\CLOVER\kexts\10.6.8_normal r5122 when booting Snow Leopard is missing "Our FSI_SIMPLE_FILE_SYSTEM_PROTOCOL installed on handle" Compare to Clover r5119 boot-log for Snow (boots successfully)… 27:911 0:000 Beginning FSInjection FSInjectionInstall ... - Our FSI_SIMPLE_FILE_SYSTEM_PROTOCOL installed on handle: DE81FA18 FSInjectionInstall ... - Our FSI_SIMPLE_FILE_SYSTEM_PROTOCOL installed on handle: DE81FA18 27:922 0:010 Use origin smbios table type 1 guid. 27:923 0:000 Preparing kexts injection for arch=x86_64 from EFI\CLOVER\kexts\Other 27:923 0:000 Disabled kext: EFI\CLOVER\kexts\Other\WhateverGreen.kext (v.1.4.2) 27:923 0:000 Disabled kext: EFI\CLOVER\kexts\Other\Lilu.kext (v.1.4.7) 27:923 0:000 Disabled kext: EFI\CLOVER\kexts\Other\AppleALC.kext (v.1.5.2) 27:923 0:000 ->Extra kext: EFI\CLOVER\kexts\Other\RealtekRTL8111.kext (v.1.2.3) 27:943 0:019 ->Extra kext: EFI\CLOVER\kexts\Other\FakeSMC.kext (v.1800) 27:981 0:038 |-- PlugIn kext: EFI\CLOVER\kexts\Other\FakeSMC.kext\Contents\PlugIns\FakeSMC_LPCSensors.kext (v.1800) 28:527 0:545 |-- PlugIn kext: EFI\CLOVER\kexts\Other\FakeSMC.kext\Contents\PlugIns\FakeSMC_GPUSensors.kext (v.1800) 28:551 0:024 |-- PlugIn kext: EFI\CLOVER\kexts\Other\FakeSMC.kext\Contents\PlugIns\FakeSMC_CPUSensors.kext (v.1800) 28:569 0:018 Preparing kexts injection for arch=x86_64 from EFI\CLOVER\kexts\10 28:569 0:000 Preparing kexts injection for arch=x86_64 from EFI\CLOVER\kexts\10_normal 28:569 0:000 Preparing kexts injection for arch=x86_64 from EFI\CLOVER\kexts\10.6 28:569 0:000 Preparing kexts injection for arch=x86_64 from EFI\CLOVER\kexts\10.6_normal 28:569 0:000 Preparing kexts injection for arch=x86_64 from EFI\CLOVER\kexts\10.6.8 28:569 0:000 Preparing kexts injection for arch=x86_64 from EFI\CLOVER\kexts\10.6.8_normal Spoiler Clover boot logs PS off topic: I can confirm the latest OC 0.6.1 is also able to boot 10.6.8, 10.7.5, 10.13.6, 10.15.6 to 11.0beta6 (USB installer and already installed Big_Sur) on the same system . 2 Link to comment Share on other sites More sharing options...
Slice Posted September 10, 2020 Share Posted September 10, 2020 I am sorry but making symbolic method for patching I dropped support for 10.6. Ancient system -> ancient Clover. 2 Link to comment Share on other sites More sharing options...
chris1111 Posted September 10, 2020 Share Posted September 10, 2020 For Booting Big Sur maybe we should go back with Clover Source Forge and ask @Zenith432 for a hand ? Link to comment Share on other sites More sharing options...
Slice Posted September 10, 2020 Share Posted September 10, 2020 Try! Link to comment Share on other sites More sharing options...
Matgen84 Posted September 10, 2020 Share Posted September 10, 2020 7 minutes ago, mifjpn said: Hello every one. I Try the follows % Git pull Updating 389ec9d17..3a2d6f14c % sh ./ebuild.sh --buildtarget=DEBUG Copy /Users/alpha/CloverBootloader/Build/Clover/DEBUG_XCODE8/X64/CLOVERX64.efi to /EFI/ClOVERX64.efi,and /EFI/BOOT/BOOTX64.efi But same answer... debug.log Idem 1 Link to comment Share on other sites More sharing options...
chris1111 Posted September 10, 2020 Share Posted September 10, 2020 44 minutes ago, Slice said: Try! I just try Clover SF 5070 Its boot 10.6 to 10.15 perfectly Boum Voila 3 Link to comment Share on other sites More sharing options...
Matgen84 Posted September 11, 2020 Share Posted September 11, 2020 4 hours ago, mifjpn said: Thank you for your effort. I tried the following % Git pull Updating f4b3445 % sh ./ebuild.sh --buildtarget=DEBUG Copy /Users/alpha/CloverBootloader/Build/Clover/DEBUG_XCODE8/X64/CLOVERX64.efi to ../EFI/ClOVERX64.efi,and ../EFI/BOOT/BOOTX64.efi But the same answer with/without OcQuirks.efi(Time Stamp:2020-9-4-Fri 22:38) debug.log Why? Thanks @Slice Compile without error but... Always same issue : 33:504 0:033 OSInfo:OSName called 33:525 0:021 OSInfo:OSVendor called debug.log 1 1 Link to comment Share on other sites More sharing options...
Slice Posted September 12, 2020 Share Posted September 12, 2020 On 9/8/2020 at 4:38 PM, Jief_Machak said: My second entry is Options and 3rd is about Clover with Clover sign. Send me your debug.log. It doesn't do that here, so I can't tell. Clover entry can be absent with legacy boot so with virtual machine as it designed only for UEFI boot. 2 Link to comment Share on other sites More sharing options...
Jief_Machak Posted September 14, 2020 Share Posted September 14, 2020 On 9/8/2020 at 3:54 PM, Slice said: In the Clover GUI you may see second line of entries like tools entries. First one is to call Shell.efi and the second one with a Clover sign is for writing the boot entry /EFI/CLOVER/CLOVERX64.EFI into nvram to use as default boot entry Sorry to come back to that but I'm intrigued. I boot UEFI, so I understand I should see this entry. For me, the clover is the about menu. Could someone send me a screenshot of where is it ? Link to comment Share on other sites More sharing options...
Matgen84 Posted September 14, 2020 Share Posted September 14, 2020 (edited) 48 minutes ago, Jief_Machak said: Sorry to come back to that but I'm intrigued. I boot UEFI, so I understand I should see this entry. For me, the clover is the about menu. Could someone send me a screenshot of where is it ? Done ! attached The "About Menu" is on the right of "Options" menu Spoiler Edited September 14, 2020 by Matgen84 Link to comment Share on other sites More sharing options...
Slice Posted September 14, 2020 Share Posted September 14, 2020 1 hour ago, Jief_Machak said: Sorry to come back to that but I'm intrigued. I boot UEFI, so I understand I should see this entry. For me, the clover is the about menu. Could someone send me a screenshot of where is it ? "Clover" entry will be absent in virtual machine. It is for real boot. 2 Link to comment Share on other sites More sharing options...
Recommended Posts