vit9696 Posted October 29, 2017 Share Posted October 29, 2017 Explain, please, what do you mean "load priority"? All kexts already loaded into memory. Then they performs Init() method. Then they performs Probe() method and return successful or not to try again after other kexts run. There is ProbeScore number. Then they started one by one. All you need is Lilu started first? There is no direct dependency from where it is loaded. It is loaded in memory. What if a kext to be patched does something at Probe() method? Lilu started after that because Start() method works after all Probe() methods. I/O Kit init/probe/start methods are not the first methods called within a kext. There also is a kmod interface, that is called much earlier, right after kext loading (unlike init/start which are asynchronous in its nature). https://opensource.apple.com/source/xnu/xnu-4570.1.46/libsa/bootstrap.cpp.auto.html Check: KLDBootstrap::readStartupExtensions (it is defined as record_startup_extensions_function). This clears what the order is. Booter kexts are added to the beginning of the list of kexts that are to be processed, and their kmod interface is guaranteed to be called earlier. Then check KLDBootstrap::loadKernelComponentKexts in the same file, it shows that the first kexts to load are the ones being basic platform <library> kexts (e.g. System.kext and so on, see sKernelComponentNames). Then there are com.apple.kec. kexts (external components), which provide crypto, threads and stuff (e.g. com.apple.kec.corecrypto, com.apple.kec.Libm, etc.) Then we have device tree update… record_startup_extensions_function is called before I/O Kit is fully initialised (https://opensource.apple.com/source/xnu/xnu-4570.1.46/iokit/Kernel/IOStartIOKit.cpp) and then the asynchronous kext loading from the list happens in the following order: booter kexts, prelinked cache, everything else kextd asks to load. However, there is an exception called KLDBootstrap::loadSecurityExtensions. https://opensource.apple.com/source/xnu/xnu-4570.1.46/security/mac_base.c.auto.html Check: mac_policy_initmach Which basically overrides the order as it is, and forces security extensions to load here and now as we need MAC policy. This should be enough to understand the cause, and if you are really interesting in the details, you could check the code further starting from the functions I mentioned. 10 Link to comment Share on other sites More sharing options...
Sherlocks Posted October 29, 2017 Share Posted October 29, 2017 @Slice today, i tested EDID injection. clover now use AAPL00,override-no-edid for Fake EDID injection. it works on 10.8~10.13. but on 10.6.8 and 10.7.5, this key is not work. always use system's original edid value. i checked intel AppleIntelSNBGraphicsFB binary. there are some key for edid. but i tested these keys are not work. AAPL00,override-no-edid <-now use in clover AAPL00,override-no-connect AAPL00,override-has-edid AAPL00,override-no-edid AAPL00,override-has-edid-digital AAPL01 also exist. but no luck. now must be add edid as manual in S/L/Display/Overrides on 10.6.8 and 10.7.5 do you have any idea? how about your Dell Latitude D430's edid injection on 10.7.5? thanks in advance AppleIntelSNBGraphicsFB.zip 1 Link to comment Share on other sites More sharing options...
RehabMan Posted October 29, 2017 Share Posted October 29, 2017 apianti, how is that clover only? Booter extensions are supported by any bootloader from Chameleon to Ozmosis, furthermore, you could use LiluFriend (which I use on real hw and VMware; abd I do not hack Lilu and plugins' plists with apple security stuff for various reasons). You might have misread me. Lilu always loads, but to work properly it needs to be loaded very early. Very early means is I need to load before most of ioreg is ready, right after main file system mount, even before dyld shared cache is mapped or launchd starts. At this step only platform and security extensions are guaranteed to load. Booter extensions start next, and they are also pretty much guaranteed to load early enough. Everything else is not, if you happen to be in the end of prelinked list, you are screwed You could always check XNU code if you are interested. What if Lilu.kext and all Lilu plugins were made bundle-id: com.apple.security.* Problem? Link to comment Share on other sites More sharing options...
vit9696 Posted October 29, 2017 Share Posted October 29, 2017 That works fine (though additionally needs AppleSecurityExtension set to YES in Info.plist), and that is basically what LiluFriend does. I feel bad for doing this for non-apple kexts though, plus apple could always check for non-apple signature if it sees such an id. 2 Link to comment Share on other sites More sharing options...
RehabMan Posted October 29, 2017 Share Posted October 29, 2017 That works fine (though additionally needs AppleSecurityExtension set to YES in Info.plist), and that is basically what LiluFriend does. I feel bad for doing this for non-apple kexts though, plus apple could always check for non-apple signature if it sees such an id. IMHO, seems like a good thing to do for all Lilu+plugins. Any such Apple check would break LiluFriend as well, so... the solutions are equal that way, except that it removes the burden from the user to create custom LiluFriend.kext, and places the burden back on the Lilu-based kext developer (where it belongs). Link to comment Share on other sites More sharing options...
Popular Post vit9696 Posted October 29, 2017 Popular Post Share Posted October 29, 2017 Well, I have an opposing opinion, because I consider it very harmful for kext to pretend to be made by Apple. If someone has to troubleshoot his installation, he may not notice that Lilu and plugins are actually not from apple. For example, I myself usually run stuff like kextstat | grep -v com.apple. LiluFriend unloads itself immediately after solving the dependencies, and is just a dummy kext, so in no way these solutions are equal. Furthermore, I would prefer not to violate Apple guidelines and agreements in the first place. And from the user point of view (if one is ever to think about a user unwilling to read the prescriptions) installing kexts in EFI is much easier than dealing with SIP, kextcache, chmod/chown access rights in the first place. The only issues are beta macOS versions, and for them the only thing in question is the improperly coded kext injection code in Clover/Chameleon due to the lack of symbol solver. (Import the symbol solver and fix a few lines of code → and you have just forgotten about the issues of kext injection). 20 Link to comment Share on other sites More sharing options...
Lucy183 Posted October 30, 2017 Share Posted October 30, 2017 I installed El Capitan from USB(createinstallmedia method) but after restart clover don't see volume with stage 2 installation files, any help? Link to comment Share on other sites More sharing options...
arsradu Posted October 30, 2017 Share Posted October 30, 2017 I installed El Capitan from USB(createinstallmedia method) but after restart clover don't see volume with stage 2 installation files, any help? Do you have hidden drives? If so, try to press F3 on Clover UI to show all the drives. Then boot from the one called "Install..." something. Link to comment Share on other sites More sharing options...
Lucy183 Posted October 30, 2017 Share Posted October 30, 2017 Do you have hidden drives? If so, try to press F3 on Clover UI to show all the drives. Then boot from the one called "Install..." something.I tried, won't appear anything. Sent from my HTC One M9 using Tapatalk Link to comment Share on other sites More sharing options...
arsradu Posted October 30, 2017 Share Posted October 30, 2017 I tried, won't appear anything. Sent from my HTC One M9 using Tapatalk Latest version of Clover? I think you need min 4250 or something like that, for this feature to work. Link to comment Share on other sites More sharing options...
chris1111 Posted October 30, 2017 Share Posted October 30, 2017 I tried, won't appear anything. Sent from my HTC One M9 using Tapatalk Do you past the stage 2 Link to comment Share on other sites More sharing options...
Badruzeus Posted October 30, 2017 Share Posted October 30, 2017 I tried, won't appear anything. Sent from my HTC One M9 using Tapatalk <key>GUI</key> ..... <key>Scan</key> <true/> ..... Link to comment Share on other sites More sharing options...
Lucy183 Posted October 30, 2017 Share Posted October 30, 2017 <key>GUI</key> ..... <key>Scan</key> <true/> ..... <key>Scan</key> <dict> <key>Entries</key> <true/> <key>Legacy</key> <false/> <key>Linux</key> <false/> <key>Tool</key> <true/> </dict> Link to comment Share on other sites More sharing options...
Matgen84 Posted October 30, 2017 Share Posted October 30, 2017 I installed El Capitan from USB(createinstallmedia method) but after restart clover don't see volume with stage 2 installation files, any help? Did you verify that the installation files were copied correctly to the destination bootable volume? 1 Link to comment Share on other sites More sharing options...
jmacie Posted October 30, 2017 Share Posted October 30, 2017 I can't boot with 4268 or 4259. I am able to boot with 4243 and before. In verbose boot with 4259 and 4268 it freezes right away and I'm not sure how to troubleshoot. I appreciate clover and any help you can give. Thanks johnm Attached photos of verbose freezing 4268, and the customize choices I made when installing clover upgrade only, thanks 1 Link to comment Share on other sites More sharing options...
Badruzeus Posted October 30, 2017 Share Posted October 30, 2017 Sorry for prev reply, I just realized that u're trying to install El Capitan update.. Link to comment Share on other sites More sharing options...
mitch_de Posted October 30, 2017 Share Posted October 30, 2017 I can't boot with 4268 or 4259. I am able to boot with 4243 and before. In verbose boot with 4259 and 4268 it freezes right away and I'm not sure how to troubleshoot. I appreciate clover and any help you can give. Thanks johnm Attached photos of verbose freezing 4268, and the customize choices I made when installing clover upgrade only, thanks I had same problem, longer ago, with an older clover version El Capitan Time) Boot works perfect ONLY if i didnt use -v. ( later that problem goes awaiy, same /EFI content) iwthnewer clover version) To defs: What happens in deep of Clover when -v (only verbose infos at boot time) run into that shown problem - at very early time Clover fails ? (like your screenshoots) 1 Link to comment Share on other sites More sharing options...
jmacie Posted October 30, 2017 Share Posted October 30, 2017 Thanks mitch_de, I don't usually boot in -v. I only did in photo to show where is stops. I appreciate your comment. Link to comment Share on other sites More sharing options...
Slice Posted October 31, 2017 Share Posted October 31, 2017 I had same problem, longer ago, with an older clover version El Capitan Time) Boot works perfect ONLY if i didnt use -v. ( later that problem goes awaiy, same /EFI content) iwthnewer clover version) To defs: What happens in deep of Clover when -v (only verbose infos at boot time) run into that shown problem - at very early time Clover fails ? (like your screenshoots) Nothing happen. It is just memory allocation issue depending on hardware and BIOS. 1 Link to comment Share on other sites More sharing options...
oSxFr33k Posted October 31, 2017 Share Posted October 31, 2017 For me when I updated from Clover v4243 to v4268 had Graphic glitches when I got to desktop, even login gui issues. Went back to v4243 problem went away, then updated again to v4268 and after a few reboots looks like the issue is gone. This is for HS 10.13.0 with GTX 770 4gb on Maximus VIII Hero Z170 with Kaby Lake i7-7700k processor and 64GB memory. Could this have been some Nvram issue or memory allocation issue, using AptioFix v1. Seems like after a few reboots the trouble has disappeared, which does seem to point to either kernel cache or nvram if this sounds right? Nvcap and ID information of graphics card from clover options menu GPU section has not changed in v4268 so completely lost as to why I get graphic glitches on initial install of Clover v4268. I am not using the web driver since my GPU is natively supported! Link to comment Share on other sites More sharing options...
eSaF Posted October 31, 2017 Share Posted October 31, 2017 Hi can someone explain why in clover v4220 on the boot menu I have three volumes, Preboot, High Sierra and Recovery, which I think is normal and yet when I update clover to v4268, I then get two Preboot volumes showing in the boot screen menu even if I do a clean install. The extra volume is totally useless as it does nothing when selected, just a black screen with a zero. I am aware I can hide any unwanted volumes by tweaking the config.plist but I find it extremely irksome to the point I did another clean install but revert back to clover v4220 which to my limited knowledge gave me three working volumes that can be booted from. Appreciate any insight offered - Thanks. 1 Link to comment Share on other sites More sharing options...
Slice Posted October 31, 2017 Share Posted October 31, 2017 Hi can someone explain why in clover v4220 on the boot menu I have three volumes, Preboot, High Sierra and Recovery, which I think is normal and yet when I update clover to v4268, I then get two Preboot volumes showing in the boot screen menu even if I do a clean install. The extra volume is totally useless as it does nothing when selected, just a black screen with a zero. I am aware I can hide any unwanted volumes by tweaking the config.plist but I find it extremely irksome to the point I did another clean install but revert back to clover v4220 which to my limited knowledge gave me three working volumes that can be booted from. Appreciate any insight offered - Thanks. High Sierra installation is quirky and didn't cleanup install files which Clover find as "continue installation". You should manually delete them to see only useful icons in Clover GUI. Anyway the Clover is right showing them because else you can't install HS. 2 Link to comment Share on other sites More sharing options...
chris1111 Posted October 31, 2017 Share Posted October 31, 2017 Hi can someone explain why in clover v4220 on the boot menu I have three volumes, Preboot, High Sierra and Recovery, which I think is normal and yet when I update clover to v4268, I then get two Preboot volumes showing in the boot screen menu even if I do a clean install. The extra volume is totally useless as it does nothing when selected, just a black screen with a zero. I am aware I can hide any unwanted volumes by tweaking the config.plist but I find it extremely irksome to the point I did another clean install but revert back to clover v4220 which to my limited knowledge gave me three working volumes that can be booted from. Appreciate any insight offered - Thanks. Show all File / Root disk, Folder Volumes , check if you have more then one preboot volumes Link to comment Share on other sites More sharing options...
jmacie Posted October 31, 2017 Share Posted October 31, 2017 I can't boot with 4268 or 4259. I am able to boot with 4243 and before. In verbose boot with 4259 and 4268 it freezes right away and I'm not sure how to troubleshoot. I appreciate clover and any help you can give. Thanks johnm Attached photos of verbose freezing 4268, and the customize choices I made when installing clover upgrade only, thanks can anyone help with some info for me on this? Thank you Link to comment Share on other sites More sharing options...
Matgen84 Posted October 31, 2017 Share Posted October 31, 2017 can anyone help with some info for me on this? Thank you Did you try Aptiofix2drv instead of Aptiofix with r4259 or r4268? 1 Link to comment Share on other sites More sharing options...
Recommended Posts