This has already been answered earlier...
Without any kext modification :
- macOS 10.11 can boot from any Apple NVMe SSD (ex : AP032, SM0512L, or SM2048L)
- macOS 10.12 adds the ability to boot from any tier 4K formatted tiers NVMe SSD
- macOS 10.13 and up are able to boot form any NVMe SSD.
Of course, if your Mac is made before 2015 you need to have its Bootrom up to date (you have an up-to-date bootrom if you run at least Sierra and regularly update your mac).
So, if you want to run 10.12 from a NVMe SSD, you only have to get a 4K bloc compatible SSD (and you need to format it in 4K bloc, using the nvme-cli command under linux).
Exemples of 4K bloc compatibles SSDs are :
- Kingston A1000 and KC1000
- Toshiba XG3-XG4-XG5
- WD Black v1 and v2.
[doublepost=1550589178][/doublepost]
NVMe boot ability has nothing to do with HFS or APFS.
An up to date BootRom gives you the ability to load the kernel and boot from APFS because it has a driver inside which allows reading APFS partitions.
An up to date BootRom gives also you the ability to load the kernel and boot from NVMe drives because is has been added inside the BootRom a DXE NVMe driver.
But once you have loaded the kernel, macOS needs to have full access to the whole filesystem. There comes the IONVMeFamily.kext .
The IONVMeFamily.kext from 10.11 only handles and recognize Apple NVMe SSDs (it can be patched)
The IONVMeFamily.kext from 10.12 only handles and recognize 4K bloc formated NVMe SSDs.
The IONVMeFamily.kext from 10.13 and up recognize and handles all NVMe SSDs of the market.