Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
Not open for further replies.
@mikeboss : Could you please write a fast/simple tutorial or step by step how you altered zozomesters Bootrom. It seems like it worked for him. Or did you go for Gilles tutorial and skip the last part with "MacPro2009-2010FirmwareTool" and so fourth...? Did you just add the NVMe DXE drive?

Best regards

/Per

@mikeboss or if you have time will you prepare a youtube video for non experienced user?

Thanks.
 
@mikeboss : Could you please write a fast/simple tutorial or step by step how you altered zozomesters Bootrom. It seems like it worked for him. Or did you go for Gilles tutorial and skip the last part with "MacPro2009-2010FirmwareTool" and so fourth...? Did you just add the NVMe DXE drive?

I just followed gilles's how-to. unfortunately I don't own a cMP anymore. I dumped the ROM of my MacPro6,1 and extracted the NVMe DXE. afterwards I injected the NVMe DXE into the ROM file I received from @zozomester and sent it back to him. indeed it seems that he was successful in booting from his NVMe SSD after flashing the ROM to his cMP.
 
This is so cool!! Does this mean we finally have NVMe boot support for the classic MPs including 3,1?

If we do, which is super awesome, then what's the best PCIe card / NVMe drives combo for the 3,1 on a PCIe 2.0 x16 slot? I don't mean to hijack the thread, and I'm sorry if it seems I am, I'm just really excited and want to order the parts.

Either way, kudos to all those that made this possible!! brilliant minds at work here..
Yes, this work. My cMP is 4.1 to 5.1. I do not know if it works with 3.1 ...
- read the instructions from gilles here -> #13
- download dosdude's flash tool
- write the modded EFI to your EEPROM
@mikeboss helped me change my rom.
 
Last edited:
I've just finished implementing ROM flashing into my OS X system firmware dumping application. You can now use it to both dump AND flash your system ROM, right from OS X. SIP must be disabled in order to use the program if you're running OS X 10.11 or later. Download the tool here.

Disclaimer: Flash your system ROM AT YOUR OWN RISK! I am not responsible for any bricked machines as a result. This should not happen (I tested on quite a few machines, and it worked every time), but if you have external EEPROM programming hardware, you'll have no issues regardless.
Hi dosdude1,
Whoo, thanks a lot for your Romtool... I've tested it and it works perfectly !
Everything will be far most easy now !

There is so much Rom patchs to test now :
- updates of Intel ME
- NVMe DXE drive (ok so far for me for a MacPro 4.1 and rMBP 11.1, will test on an Xserve and MacPro 3.1)
- USB 3 FL1100 driver
- Xeon microcode for MacPro 3.1 and Xserve 3.1

I will try to update a mini tutorial with screen captures now...
 
Could we not inject these drivers into the stock firmware (which has no serial), flash that to the EEPROM, and then use the blank board serializer CD to write the serial? Then someone could host the modded firmware somewhere.
 
My 4x Toshiba XG5 on Raid0, Native Boot and good Work.
 

Attachments

  • Képernyőfotó 2018-05-30 - 12.59.50.png
    Képernyőfotó 2018-05-30 - 12.59.50.png
    285.9 KB · Views: 475
  • Képernyőfotó 2018-05-30 - 22.32.25.png
    Képernyőfotó 2018-05-30 - 22.32.25.png
    101.1 KB · Views: 489
  • Képernyőfotó 2018-05-30 - 22.32.44.png
    Képernyőfotó 2018-05-30 - 22.32.44.png
    145.1 KB · Views: 504
  • Képernyőfotó 2018-05-30 - 22.33.59.png
    Képernyőfotó 2018-05-30 - 22.33.59.png
    68 KB · Views: 536
  • Képernyőfotó 2018-05-30 - 22.38.37.png
    Képernyőfotó 2018-05-30 - 22.38.37.png
    109.9 KB · Views: 546
  • Képernyőfotó 2018-05-30 - 22.41.15.png
    Képernyőfotó 2018-05-30 - 22.41.15.png
    1.1 MB · Views: 524
WOW ! indeed ! a profoundly historic day for the cMP.

My hat off to Gilles, dosdude1, mikeboss & ba##s of steel zozomester
I'm looking forward to Gilles getting FL1100 USB 3.0 at bootup time
 
Last edited:
OK I have my NVMe DXE rom.

I'm still very cautious as I need my Mac Pro for work. I would appreciate any assistance prior to flashing my cMP 4,1>5,1 bootROM for my Samsung 960 EVO M.2

I did the " Enable NVMe M.2 /SSD to be seen in Sierra 10,12,6.

This involves DELETING the " IONVMeFamily.kext " and replacing it with the" HackrNVMeFamily-10_12_3.kext". After which the 960 EVO shows up.

Should I keep the "HackrNVMeFamily-10_12_3.kext " in my Sierra instal or replace the original IONVMeFamily.kext?

I'm totally confused on this point

I DO have a working High Sierra 10.13.4 on a spinner HDD. It sees the 960 EVO M.2 OK.

I would much prefer to have NVMe M.2 booting in Sierra but High Sierra would also be OK.

Thanks in advance.
 
Last edited:
OK I have my NVMe DXE rom.

I'm still very cautious as I need my Mac Pro for work. I would appreciate any assistance prior to flashing my cMP 4,1>5,1 bootROM for my Samsung 960 EVO M.2

I did the " Enable NVMe M.2 /SSD to be seen in Sierra 10,12,6.

This involves DELETING the " IONVMeFamily.kext " and replacing it with the" HackrNVMeFamily-10_12_3.kext". After which the 960 EVO shows up.

Should I keep the "HackrNVMeFamily-10_12_3.kext " in my Sierra instal or replace the original IONVMeFamily.kext?

I'm totally confused on this point

I DO have a working High Sierra 10.13.4 on a spinner HDD. It sees the 960 EVO M.2 OK.

I would much prefer to have NVMe M.2 booting in Sierra but High Sierra would also be OK.

Thanks in advance.
ALWAYS use stock kexts on a real Mac, when you have a firmware workaround. Restore stock kext/set perms/rebuild kextcache before flashing your firmware.
 
  • Like
Reactions: MIKX
I'm currently working on an application that will allow you to easily inject DXE drivers into any system ROM. Should be done within the next few days.

Please excuse my ignorance on this subject but, if we end up with an easy method to inject this driver, what would happen if another firmware/OS update comes along and tries to modify it? Would it be a simple matter of injecting again, or would the Apple update be blocked by a hash change?
 
Please excuse my ignorance on this subject but, if we end up with an easy method to inject this driver, what would happen if another firmware/OS update comes along and tries to modify it? Would it be a simple matter of injecting again, or would the Apple update be blocked by a hash change?
If a new firmware update is applied, there is a chance it could be overwritten. But, you can simply dump, modify, and re-flash your ROM to once again have an nVME supported system on the latest firmware. The likeliness of a new firmware update is practically non-existent, though, and OS updates will not affect it, so I doubt you'll have anything to worry about.
 
placing it with
ALWAYS use stock kexts on a real Mac, when you have a firmware workaround. Restore stock kext/set perms/rebuild kextcache before flashing your firmware.

Thanks for your swift reply dosdude1 ..

Just so I can be 100%clear on this

1.
If I put my "standard" Sierra 10.12.6 ( no " HackrNVMeFamily,kext ) SATA SSD 2.5" with the stock "IONVMeFamily.kext" ) re-installed ( caches rebuilt ) back in the cMP . . . .
.
2.
. . Sierra will recognize the Samsung 960 EVO M.2 in the Finder / Disk Drive Utility ?

3.
Then if ( after the flash ) my cMP actually boots up in Sierra ( 2.5" SSD ) and can see the 960 EVO I can then go ahead and replace the original " IONVMeFamily.kext" in the 960 EVO and remove the " HackrNVMeFamily,kext " . . . . rebuild caches ..

4.
. . . then it SHOULD show the Sierra 960 as a boot drive in the next cold startup ?

=================================================

Sorry for the convoluted explanation . .. I'm actually a bit terrified as I absolutely need a working cMP for my English school yet I'm dying to be able to boot my Ms2 960 EVO natively

=================================================

I guess my question is this ..

After the bootROM flash BOTH Sierra & High Sierra ( not-hacked installs ) should be able to SEE the M.2 960 EVO ?

EDIT : I certainly do not expect a a definite "YES" answer andhold myself responsible if I brick my cMP

Apprehensively Yours,

MIKX
 
Last edited:
Thank you for explaining. I wonder if this tool you are making would also allow flashing back to the original firmware if you save a copy from the dump.
 
Maybe dosdude1 can come up with his own version of "Apple Firmware Restore CD".

That would be inspirational and would remove all fear of flashing for me. :D
 
  • Like
Reactions: crjackson2134
I have just finished writing a command-line tool that will allow you to inject a DXE driver (in FFS format) into your system ROM. Just run the program as follows:

Code:
DXEInject <input ROM path> <ROM save path> <list of paths to FFS files to inject>

An example input would be this (assuming you're CD'd into the directory containing the files):

Code:
DXEInject MacPro5,1.bin MacPro5,1_modified.bin nVME.ffs USB3.ffs
...Which would inject nVME.ffs and USB3.ffs into the ROM "MacPro5,1.bin" and save it to a file named "MacPro5,1_modified.bin".

Download here.

Note: ONLY use this to inject FFS files containing DXE drivers. Injecting other kinds of UEFI files will cause issues.
 
We really need to see some success stories with different branded M.2 & 2.5" NVMe SSD drives to give us some confidence.

eg : Anyone with a SPARE 4,1 or 5,1 cMP :D

Or .. we need a foolproof way of " slightly damaging" an existing bootROM . . just enough so that the Apple Restore CD's will allow original bootROM restoration to a 4,1 or 5,1 cMP..

Note : Catch 22 : The Apple FW restore CD's will not restore to an un-damaged, working bootROM
 
We really need to see some success stories with different branded M.2 & 2.5" NVMe SSD drives to give us some confidence.

eg : Anyone with a SPARE 4,1 or 5,1 cMP :D

Or .. we need a foolproof way of " slightly damaging" an existing bootROM . . just enough so that the Apple Restore CD's will allow original bootROM restoration to a 4,1 or 5,1 cMP..

Note : Catch 22 : The Apple FW restore CD's will not restore to an un-damaged, working bootROM

Just to complicate matters, if you damage the on-chip bootrom, it’s not likely a restore CD will help. How would you boot it... ;)
 
placing it with


Thanks for your swift reply dosdude1 ..

Just so I can be 100%clear on this

1.
If I put my "standard" Sierra 10.12.6 ( no " HackrNVMeFamily,kext ) SATA SSD 2.5" with the stock "IONVMeFamily.kext" ) re-installed ( caches rebuilt ) back in the cMP . . . .
.
2.
. . Sierra will recognize the Samsung 960 EVO M.2 in the Finder / Disk Drive Utility ?

3.
Then if ( after the flash ) my cMP actually boots up in Sierra ( 2.5" SSD ) and can see the 960 EVO I can then go ahead and replace the original " IONVMeFamily.kext" in the 960 EVO and remove the " HackrNVMeFamily,kext " . . . . rebuild caches ..

4.
. . . then it SHOULD show the Sierra 960 as a boot drive in the next cold startup ?

=================================================

Sorry for the convoluted explanation . .. I'm actually a bit terrified as I absolutely need a working cMP for my English school yet I'm dying to be able to boot my Ms2 960 EVO natively

=================================================

I guess my question is this ..

After the bootROM flash BOTH Sierra & High Sierra ( not-hacked installs ) should be able to SEE the M.2 960 EVO ?

EDIT : I certainly do not expect a a definite "YES" answer andhold myself responsible if I brick my cMP

Apprehensively Yours,

MIKX
Using native kext-drivers on Sierra will certainly cause issues with the Samsung SSD, as it is not a 4K-capable SSD. The success-stories are all on Toshiba XG5-SSD's that are 4K capable, but if they are actually 4K formatted isn't clear. The one from gilles is I suppose, but from zozomester probably isn't, but that is just a guess. So booting without hacked drivers from a Samsung SSD isn't likely. In Sierra you should use a 4K-native drive with stock kext or use the patched NVMe-driver. But if it actually can boot with the patched driver I don't know, because booting from it and using it are 2 different things.

Booting requires the drivers in a really early stage and using it will depend on drivers that are loaded afterwards. The same thing happens with a RX580 and nVidia-cards. The image is only available in a later state, because those drivers are loaded much later, otherwise you would see the progress bar much earlier. I wouldn't count on booting from the Samsung SSD with Sierra. My best guess is that booting from the Samung SSD only works in High Sierra as the native drivers are probably in the kernel and the native drivers support 512b SSD's.

But the real test would be to use the patched bootROM and see if the NVMe-drive shows up in the boot-selector. And then test a Samsung (512b) SSD and a Toshiba SSD formatted in 4K with Sierra (and High Sierra of course). Simply test what combination works.
 
I have just finished writing a command-line tool that will allow you to inject a DXE driver (in FFS format) into your system ROM. Just run the program as follows:

Code:
DXEInject <input ROM path> <ROM save path> <list of paths to FFS files to inject>

An example input would be this (assuming you're CD'd into the directory containing the files):

Code:
DXEInject MacPro5,1.bin MacPro5,1_modified.bin nVME.ffs USB3.ffs
...Which would inject nVME.ffs and USB3.ffs into the ROM "MacPro5,1.bin" and save it to a file named "MacPro5,1_modified.bin".

Download here.

Note: ONLY use this to inject FFS files containing DXE drivers. Injecting other kinds of UEFI files will cause issues.

Just for my own clarity (because post #13 gave me a brain-fog), let me see if I’ve got a grip on this...

I can make a folder on my desktop (let’s call it injection), then...

* download the new tool zip file and place the extracted contents in th injection folder

* using pacifist, find the NVMe FFS and copy it into the injection folder

* boot machine to recovery mode terminal and disable SIP, then reboot to desktop

* open a terminal session and cd into the injection folder

* run the posted terminal command (w/o usb3 instruction on end)

* when tool is finished, it will have dumped, injected, and flashed new file to boot rom

* reboot and enjoy native NVMe boot support

No doubt I probably got something wrong, so please correct me so I can understand exactly what needs to be done here.

Also, has anyone actually tried adding the usb3 support yet?
 
Just for my own clarity (because post #13 gave me a brain-fog), let me see if I’ve got a grip on this...

I can make a folder on my desktop (let’s call it injection), then...

* download the new tool zip file and place the extracted contents in th injection folder

* using pacifist, find the NVMe FFS and copy it into the injection folder

* boot machine to recovery mode terminal and disable SIP, then reboot to desktop

* open a terminal session and cd into the injection folder

* run the posted terminal command (w/o usb3 instruction on end)

* when tool is finished, it will have dumped, injected, and flashed new file to boot rom

* reboot and enjoy native NVMe boot support

No doubt I probably got something wrong, so please correct me so I can understand exactly what needs to be done here.

Also, has anyone actually tried adding the usb3 support yet?

You forgot dumping your bootrom and writing it back after injecting it into to saved bootrom file.
 
Status
Not open for further replies.
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.