Contribute
Register

Clover & Kexts "Best Practices" Question

Status
Not open for further replies.
Joined
Feb 13, 2011
Messages
46
Motherboard
HP 350 G1
CPU
i3-4005U
Graphics
HD 4400, 1366x768
Mac
  1. MacBook Air
  2. MacBook Pro
Classic Mac
  1. Power Mac
Mobile Phone
  1. iOS
I looked in the Clover FAQ's and couldn't find the answer, so I ask here...

What is the preferred way to add kexts to a fully functional Clover-based install?
#1 using the stock .pkg iinstaller OR
#2 using Pacifist (or the like) to extract the kexts to /EFI/EFI/Clover/kexts/10.x/ and then rebuiliding w/ KextUtility


While I understand that one can (and probably someone will actually ...) answer "whichever one works", I'm looking for something a bit deeper, relating back to the way that Clover actually works, or is intended to work.

FWIW, I used #2 to install HWSensors on my HackPro at home, #1 to install HWSensors on my HackPro at my office. Both work...

I was also wondering if KextUtility even sees what is in /EFI/EFI/Clover/kexts/ ...

Definitely the vanilla-install part of me likes the #2 method a bit more, for "hackintosh kexts", but #1 would make more sense for any standard kexts, I guess.
 
... What is the preferred way to add kexts to a fully functional Clover-based install?
#1 using the stock .pkg iinstaller OR
#2 using Pacifist (or the like) to extract the kexts to /EFI/EFI/Clover/kexts/10.x/ and then rebuiliding w/ KextUtility
Your question itself is confusing... A fully "functional" Clover install implies your kext are already installed. What stock.pkg installer are you referring to? Use Pacifist to extract kext from where? Why and what would be the purpose of a kext utility being /EFI/EFI/Clover/kexts/10.x/ aware?

With that said, OS X expects kext to be in S/L/E or in L/E. Clover is designed to be an improved bootloader, not a method to improve or question OS X design. The concept that we want a "vanilla installation" is really nonsense IMO. Just because we use different nic's and audio devices than Apple doesn't mean their kext should reside somewhere else. Clover's ability to inject and patch kext on the fly is a great tool for testing or to help facilitate an OS X install. It's DSDT and SSDT fixes are also very cool, yet its still just tool and should be treated as such.

I've been using/testing Clover for years. I think my first version was r659, considering we are currently at r3040 there's been a lot of changes. My experience had been that the fastest boot times and best system stability come from placing your kext where they belong... Every conversation I've seen with the dev's regarding this question has had the same result, install your kext in S/L/E.

I'm not certain this answers your question, if not surely others will chime in....
 
Your question itself is confusing... A fully "functional" Clover install implies your kext are already installed. What stock.pkg installer are you referring to? Use Pacifist to extract kext from where? Why and what would be the purpose of a kext utility being /EFI/EFI/Clover/kexts/10.x/ aware?

With that said, OS X expects kext to be in S/L/E or in L/E. Clover is designed to be an improved bootloader, not a method to improve or question OS X design. The concept that we want a "vanilla installation" is really nonsense IMO. Just because we use different nic's and audio devices than Apple doesn't mean their kext should reside somewhere else. Clover's ability to inject and patch kext on the fly is a great tool for testing or to help facilitate an OS X install. It's DSDT and SSDT fixes are also very cool, yet its still just tool and should be treated as such.

I've been using/testing Clover for years. I think my first version was r659, considering we are currently at r3040 there's been a lot of changes. My experience had been that the fastest boot times and best system stability come from placing your kext where they belong... Every conversation I've seen with the dev's regarding this question has had the same result, install your kext in S/L/E.

I'm not certain this answers your question, if not surely others will chime in....

+1.

Kext injection is great for booting the Installer or Recovery partition, but for the main install, kexts should be in /S/L/E.

There are many misguided folks who believe an install is 'cleaner' if they inject everything. But injection doesn't work for everything and brings complexity. For example, AppleHDA injectors don't work from Clover/kexts. And kexts with dependencies can be problematic. For example, to inject networking kexts, you must force IONetworkingFamily to load (ForceKextsToLoad).

It is easier, faster, and more reliable to install things you need to /S/L/E. Leave Clover/kext injection for the cases where that is not possible.
 
wait, so its better to add kexts to S/L/E instead of /EFI/EFI/Clover/kexts/10.x/ because everything ive been reading saws to add it to the efi directory.
 
wait, so its better to add kexts to S/L/E instead of /EFI/EFI/Clover/kexts/10.x/ because everything ive been reading saws to add it to the efi directory.

See note above regarding the 'misguided'...

Opinions may vary, but put quite simply, when I make two lists with the advantages installing kexts in /S/L/E vs. Clover/kexts, the list for /S/L/E is longer.
 
thanks @ all for answers & comments... they are illuminating & helpful...

by "fully functional" I mean that the basic install using Clover, etc. has delivered to the user a Mackintosh where it boots, is stable, ; network, sound & graphics work as they should, Sleep, Restart, Shutdown all work...

"Stock Installer" (I could have said Vendor-Supplied kexts that are needed for a new piece of hardware): But suppose, for instance one wants to add a USB-Ethernet Adapter, which requires a Kext... then it would be my assumption, that, just like in a bona fide Mac, you'd use the regular installer that the vendor provides.

I contrast this against, say, something like HWSensors (the HWMonitor packages, that includes FakeSMC, plugins for sensors, etc). To me, it seemed like since this material would not normally get install in a bona fide Mac ... so I just installed in /EFI/EFI/kexts/10.10/ ...

I understand what you all said about things like startup time and simplicity... I think you've all answered it well.
 
So to keep track of what I added to S/L/E is it bad to have them in both places? or does it even matter?
 
So to keep track of what I added to S/L/E is it bad to have them in both places? or does it even matter?

Some of them you will have in both places. You need the essential kexts in Clover/kexts that you need to boot the Recovery partition.

I tend to be 'lazy' about updating the kexts on Clover/kexts. So in the case of a bad update of FakeSMC (or other kext), you can actually still use the Recovery partition (which will use the older injected FakeSMC) to fix it.
 
I tend to be 'lazy' about updating the kexts on Clover/kexts. So in the case of a bad update of FakeSMC (or other kext), you can actually still use the Recovery partition (which will use the older injected FakeSMC) to fix it.

Same here. I generally copy the kexts from the install USB. Everything else gets put in S/L/E except the HDA patch added by toleda's script.
 
Same here. I generally copy the kexts from the install USB. Everything else gets put in S/L/E except the HDA patch added by toleda's script.

Not sure which HDA patch you're referring to. HDA injectors must be installed to /S/L/E always. They won't work from Clover/kexts.
 
Status
Not open for further replies.
Back
Top