Hi!
I read about the NVMe cards that aren't bootable because the EFI rom (off course) doesn't list them at the boot manager. The first thing i learned when fiddling around with a hackintosh (back in '05 with deadmoo image) was the "rd=" option. So since i already successfully booted OSX from an USB3.0 stick on a cMP3,1 (where booting from USB3.0 isn't supported), here's how it should also work with a Samsung 950 Pro NVMe.
Note: I haven't got an 950Pro to test this, but it should work just like doing this with a USB-Stick on an cMP with USB3.0 cards. The NVMe driver must already be installed and kernelcache rebuilded!
Note2: I did this long ago on a MountainLion system, so the procedure might vary, e.g. files are laying somewhere else on the source disk etc.
1. Partition your 950Pro and clone an already installed system to your 950Pro, e.g. your running system.
2. Use a spare SSD (USB stick would also work) and partition it as:
Partition Map Scheme: GUID Partition Table
Format: Mac OS Extended (Journaled)
Partition Name: NVMeBoot
3. Now do the following on the Terminal to make the SSD/USBStick bootable:
mkdir -p /Volumes/NVMeBoot/System/Library/CoreServices/
mkdir -p /Volumes/NVMeBoot/Library/Preferences/SystemConfiguration/
mkdir -p /Volumes/NVMeBoot/System/Library/Caches/com.apple.kext.caches/Startup/
cp /System/Library/CoreServices/SystemVersion.plist /Volumes/NVMeBoot/System/Library/CoreServices/
cp /System/Library/CoreServices/boot.efi /Volumes/NVMeBoot/System/Library/CoreServices/
cp /Library/Preferences/SystemConfiguration/com.apple.Boot.plist /Volumes/NVMeBoot/Library/Preferences/SystemConfiguration/
cp /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache /Volumes/NVMeBoot/System/Library/Caches/com.apple.kext.caches/Startup/
sudo bless --folder /Volumes/NVMeBoot/ -label NVMeBoot
4. Change /Volumes/NVMeBoot/Library/Preferences/SystemConfiguration/com.apple.Boot.plist so it reads
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Kernel Cache</key>
<string>/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache</string>
<key>Kernel Flags</key>
<string>boot-uuid=69D67D3F-908E-39B1-B284-BB796536406D rd=*uuid -v</string>
</dict>
</plist>
Note: Change the UUID (in my case 69D67D3F-908E-39B1-B284-BB796536406D) to match the UUID from your 950Pro's root partition! Open "Disk Utility.app", click the 9050Pro's partition to where you cloned your OSX onto and press CMD+i. Now copy the number where it says "Universal Unique Identifier:" and paste it to com.apple.Boot.plist "boot-uuid=" line.
That should be it, reboot and check it out. Would be nice if someone could test this.
I read about the NVMe cards that aren't bootable because the EFI rom (off course) doesn't list them at the boot manager. The first thing i learned when fiddling around with a hackintosh (back in '05 with deadmoo image) was the "rd=" option. So since i already successfully booted OSX from an USB3.0 stick on a cMP3,1 (where booting from USB3.0 isn't supported), here's how it should also work with a Samsung 950 Pro NVMe.
Note: I haven't got an 950Pro to test this, but it should work just like doing this with a USB-Stick on an cMP with USB3.0 cards. The NVMe driver must already be installed and kernelcache rebuilded!
Note2: I did this long ago on a MountainLion system, so the procedure might vary, e.g. files are laying somewhere else on the source disk etc.
1. Partition your 950Pro and clone an already installed system to your 950Pro, e.g. your running system.
2. Use a spare SSD (USB stick would also work) and partition it as:
Partition Map Scheme: GUID Partition Table
Format: Mac OS Extended (Journaled)
Partition Name: NVMeBoot
3. Now do the following on the Terminal to make the SSD/USBStick bootable:
mkdir -p /Volumes/NVMeBoot/System/Library/CoreServices/
mkdir -p /Volumes/NVMeBoot/Library/Preferences/SystemConfiguration/
mkdir -p /Volumes/NVMeBoot/System/Library/Caches/com.apple.kext.caches/Startup/
cp /System/Library/CoreServices/SystemVersion.plist /Volumes/NVMeBoot/System/Library/CoreServices/
cp /System/Library/CoreServices/boot.efi /Volumes/NVMeBoot/System/Library/CoreServices/
cp /Library/Preferences/SystemConfiguration/com.apple.Boot.plist /Volumes/NVMeBoot/Library/Preferences/SystemConfiguration/
cp /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache /Volumes/NVMeBoot/System/Library/Caches/com.apple.kext.caches/Startup/
sudo bless --folder /Volumes/NVMeBoot/ -label NVMeBoot
4. Change /Volumes/NVMeBoot/Library/Preferences/SystemConfiguration/com.apple.Boot.plist so it reads
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Kernel Cache</key>
<string>/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache</string>
<key>Kernel Flags</key>
<string>boot-uuid=69D67D3F-908E-39B1-B284-BB796536406D rd=*uuid -v</string>
</dict>
</plist>
Note: Change the UUID (in my case 69D67D3F-908E-39B1-B284-BB796536406D) to match the UUID from your 950Pro's root partition! Open "Disk Utility.app", click the 9050Pro's partition to where you cloned your OSX onto and press CMD+i. Now copy the number where it says "Universal Unique Identifier:" and paste it to com.apple.Boot.plist "boot-uuid=" line.
That should be it, reboot and check it out. Would be nice if someone could test this.