By using the class-code spoof, you can likely use HackrNVMeFamily for 10.11 (assuming you generate it correctly) with 10.12.
No guarantees though.
After installing, you can generate the new kext for 10.12 and delete the HackrNVMeFamily you generated from 10.11.
OK so I have the BIOS Device name: \_SB.PCI0.RP09.PXSX
Which I got from the Windows Device Manager, but I am not sure how I create the SSDT.
I think my SSDT should look like this:
Code:
// Inject bogus class-code for NVMe SSD to prevent IONVMeFamily.kext from loading
// also inject "compatible", "IOName", and "name" such that 10.11.x IONVMeFamily
// does not match on pci144d,a804 (Samsung 960 EVO)
DefinitionBlock("", "SSDT", 2, "hack", "NVMe-Pcc", 0)
{
External(_SB.PCI0.RP09.PXSX, DeviceObj)
Method(_SB.PCI0.RP09.PXSX._DSM, 4)
{
If (!Arg2) { Return (Buffer() { 0x03 } ) }
Return(Package()
{
"class-code", Buffer() { 0xff, 0x08, 0x01, 0x00 },
"built-in", Buffer() { 0 },
"compatible", Buffer() { "pci144d,a801" },
"IOName", "pci144d,a801",
"name", Buffer() { "pci144d,a801" },
})
}
}
//EOF
Which matches the instructions in your guide for the 960 EVO but what do I do next? Do I just create that in a text editor?
The guides states to use MaciASL to compile that to an .aml but from the link provided it seems the only maciASL on your github is maciASL-patchmatic - is that what I am supposed to be using?
If so, once I have done that I need to put the resulting .aml file on the USB stick in EFI/Clover/ACPI/patched/ correct?
In your guide you talk about existing _DSM methods and I get completely lost - what file am I supposed to open to check for this?
As I understand it once I have renamed all existing _DSM methods I then need to run the patching tool using the --spoof argument that matches my current OS X (not my target OS X) so in this case I would use:
./patch_nvme.sh --spoof 10_11_6_sec2016-002
(I haven't installed the 2016-003 security update on my system yet)
Then I put the resulting Kext file in EFI/Clover/kexts/Other (on the USB install stick).
Then once I have installed Sierra, I need to once again download the NVMe patch and this time run:
./patch_nvme.sh --spoof 10_12_2
And then install the Kext using:
sudo cp -R HackrNVMeFamily-10_12_2.kext /Library/Extensions
sudo kextcache -i /
Do I need to create a new .aml first or will the old one still be there?
I think I have everything there but I am still confused with regards to how to create the .aml and how to check for existing _DSM methods. Sorry for all the questions but if you have the time to help it would be much appreciated.
Another (albeit slightly offtopic) question - is it possible to copy all my system ID settings that I made in Clover Configurator>SMBIOS to the new installation media or will I need to generate these again and go through the imessage fix again? If so please can you explain which files I need to edit to do this?