Contribute
Register

[Guide] HackrNVMeFamily co-existence with IONVMeFamily using class-code spoof

Status
Not open for further replies.
I copied the following to the boot volume EFI which is NVME:

SSDT-NVMe-Pcc.aml -> EFI/Clover/ACPI/patched
HackrNVMeFamily*.kext -> EFI/Clover/kexts/Other/
EFI/Clover/kexts/Other/* from Install disk -> EFI/Clover/kexts/Other/

It sounds as if I shouldn't have moved all of the kexts in the "Other" directory from the install media?

Did you install FakeSMC.kext to the system volume?

If so, did you read post #461? Carefully?
 
Did you install FakeSMC.kext to the system volume?

If so, did you read post #461? Carefully?

Yes, FakeSMC.kext is present in EFI/CLOVER/kexts/Other, and re-read #461...

Keep in mind that with FakeSMC.kext installed to the system volume and config.plist/SystemParameters/InjectKexts="Detect", anything you put in EFI/Clover/kexts is ignored by Clover.

So... once you install FakeSMC.kext to the system volume, you must also install HackrNVMeFamily as well

HackrNVMeFamily-10_12_4.kext is located in EFI/Clocver/kexts/Other, but based on your earlier statement, you're saying it's being ignored?

I just booted off the USB media in recovery mode, and mounted the EFI on the NVME in terminal. So I can manipulate the boot environment, but my lack of knowledge is getting the in the way. I probably should have started with an easier system. In fact I have a SATA SSD in this machine, and I'm thinking about pivoting there until I understand all of this better.
 
Last edited:
Yes, FakeSMC.kext is present in EFI/CLOVER/kexts/Other, and re-read #461...

HackrNVMeFamily-10_12_4.kext is located in EFI/Clocver/kexts/Other, but based on your earlier statement, you're saying it's being ignored?

Well, you didn't provide "Problem Reporting" files. But typically, InjectKexts="Detect", and therefore once you install FakeSMC.kext to the system volume (as Multibeast does), EFI/Clover/kexts is ignored, as Clover assumes kext injection is not needed due to all your kexts being installed to the system volume.

I just booted off the USB media is recovery mode, and mounted the EFI on the NVME in terminal.

Yes... of course. The recovery partition does not have FakeSMC.kext on it, so the kexts in EFI/Clover/kexts are injected...

Seems like your mistake is:
- that you forgot to install HackrNVMeFamily when you installed FakeSMC.kext.
- and a basic misunderstanding of Clover kext injection and its relationship with InjectKexts and FakeSMC...

General rules:
- InjectKexts=Detect
- all kexts you need installed to the system volume
- a subset of those kexts ("essential" kexts) should be on EFI/Clover/kexts/Other
 
Last edited:
Well, you didn't provide "Problem Reporting" files. But typically, InjectKexts="Detect", and therefore once you install FakeSMC.kext to the system volume (as Multibeast does), EFI/Clover/kexts is ignored, as Clover assumes kext injection is not needed due to all your kexts being installed to the system volume.



Yes... of course. The recovery partition does not have FakeSMC.kext on it, so the kexts in EFI/Clover/kexts are injected...

Seems like your mistake is:
- that you forgot to install HackrNVMeFamily when you installed FakeSMC.kext.
- and a basic misunderstanding of Clover kext injection and its relationship with InjectKexts and FakeSMC...

General rules:
- InjectKexts=Detect
- all kexts you need installed to the system volume
- a subset of those kexts ("essential" kexts) should be on EFI/Clover/kexts/Other

Ah, lightbulb moment. Yes, I installed all of these things to the boot volume EFI, just like I did with the install media. What you're saying is that they really need to be on the boot volume and not the EFI of the boot disk and injected with Clover.

Let me go play... Thanks for the help.
 
What you're saying is that they really need to be on the boot volume and not the EFI of the boot disk.

Actually no (you're putting words in my mouth)...

"Essential" kexts such as HackrNVMeFamily and FakeSMC need to be on both EFI/Clover/kexts and the system volume.

Read this again... carefully...

General rules:
- InjectKexts=Detect
- all kexts you need installed to the system volume
- a subset of those kexts ("essential" kexts) should be on EFI/Clover/kexts/Other
 
Actually no (you're putting words in my mouth)...

"Essential" kexts such as HackrNVMeFamily and FakeSMC need to be on both EFI/Clover/kexts and the system volume.

Read this again... carefully...

General rules:
- InjectKexts=Detect
- all kexts you need installed to the system volume
- a subset of those kexts ("essential" kexts) should be on EFI/Clover/kexts/Other

Ok, I thought I had a lightbulb moment... now I'm not sure.

InjectKexts=Detect is a clover config option, correct? If FakeSMC needs to be both in the EFI as well as the boot volume, and if it is present causes all others to be ignored, why is HackrNVMeFamily picked up at all?
 
InjectKexts=Detect is a clover config option, correct?

Yes.
config.plist/SystemParameters/InjectKexts

If FakeSMC needs to be both in the EFI as well as the boot volume, and if it is present causes all others to be ignored, why is HackrNVMeFamily picked up at all?

I'm not sure what you mean by "is present" ("is present" where, specifically?)

With InjectKexts=Detect, HackrNVMeFamily (and other kexts in EFI/Clover/kexts) will be injected if FakeSMC.kext is NOT installed to the system volume.

So, in your case (I believe failure to install HackrNVMeFamily to the system volume)...HackrNVMeFamily is "picked up" (injected) when you boot your Recovery partition because FakeSMC.kext is NOT installed there. But when you boot your system partition, it is not "picked up" (injected) because FakeSMC.kext IS installed there.
 
Yes.
config.plist/SystemParameters/InjectKexts



I'm not sure what you mean by "is present" ("is present" where, specifically?)

With InjectKexts=Detect, HackrNVMeFamily (and other kexts in EFI/Clover/kexts) will be injected if FakeSMC.kext is NOT installed to the system volume.

So, in your case (I believe failure to install HackrNVMeFamily to the system volume)...HackrNVMeFamily is "picked up" (injected) when you boot your Recovery partition because FakeSMC.kext is NOT installed there. But when you boot your system partition, it is not "picked up" (injected) because FakeSMC.kext IS installed there.

I copied HackrNVMeFamily-10_12_4.kext to /Library/Extensions and had the same result.

I'll go zip up the files, etc. Give me a few...
 
First, thanks again for taking the time to help me learn....

What files would be the most useful here? Your original post talks about zip'ing up the EFI of the install media, but I have that working. And since Clover injection is primarily disabled on the boot volume (because FakeSMC is present in /Library/Extensions), I don't know what would be helpful here.
 
Status
Not open for further replies.
Back
Top