Hello everybody!
I'm newly owner of MP 3,1 and I want to discuss upgrading of this nice but old machine with you.
I suggest everyone to take part in creating this guide. Now I will post my achievement in making it bootable from NVMe SSD.
Bootable NVMe
Note: it can be dangerous for your MP 3,1, you can brick it if something goes wrong while flashing ROM. It's hard to repair, because you should unsolder chip, flash it with external usb programmer and then solder it back.
Useful links:
https://docs.google.com/document/d/1WNkM9LuGPq1sArO9EedWBHYq14NU7m-mDBLAWWJipyM/edit#
all credit for this instructional document goes to
@handheldgames
There are three approaches to get NVMe booting. Two of them are without BootROM modification.
First approach without BootROM modification
Second approach without BootROM modification
You need install rEFInd and add NVMe driver. I will post step-by-step guide here a little later.
Approach with BootROM modification
I had a success with these steps which are almost the same as in Google Doc but you CAN use guide in Google Doc to flash your ROM. It's okey. ROMTool is GUI for flashrom tool I used in my guide. So these two guides are almost the same. Here is just another approach to do the same. My guide has steps to get nvme.ffs file with nvme driver. You need it because there is no link for this file in Google Doc now.
If you have old macOs which doesn't support ROMTool and have reasons not to update you Mac with newer OS but need NVMe drive you can use my steps.
Many thanks to @dosdude1 for this nice and easy to use GUI tool.
You should use guide in Google Doc and steps 1—
3 in my guide , it would be much simpler and faster.
Many thanks to @handheldgames for the guide in Google Doc. I hope you will add steps 1—3 from my guide to your's one.
1. Download any version of MacOs Mojave with native NVMe boot support (
look here). It can be 10.14.1 or any newer including latest for today (08/23/2019).
2. Right click on
Install macOS Mojave, click
Show Package Contents, go to
Contents/Resources/Firmware,
copy
MP51.fd to any folder.
3. Download binary
UEFITool from
here. Open
MP5,1.fd in
UEFITool, search text for
NVMe, right click on
NVMe branch, choose
Extract as is..., save it with proper name like
nvme.ffs
4. I had OsX 10.5 and no good internet connection on my MP3,1 (I can't download El Capitan for example, programs from Google Doc require higher version of MacOs than 10.5 I had on that moment) so I followed this steps. You can follow steps in
Google Doc, but there were some reports here that
ROMTool can be buggy. I created bootable USB stick with
Grml Live Linux (you need 'full'). It's important to start MP3,1 in flash write mode. According to Google Doc power off MP3,1, wait at least 15 sec, press and hold power button, when LED above button starts to flash release power button. Then I booted my MP3,1 from USB stick (hold
Option key when start and choose EFI).
In CLI write
flashrom -p internal -r myrom.bin, after I mounted another USB stick, copied myrom.bin to it).
So now you have your ROM downloaded.
On another Mac I downloaded
DXEInject, put
myrom.bin and
nvme.ffs in folder containing DXEInject and ran it in
Terminal to create new patched ROM with NVMe support:
./DXEInject ./myrom.bin ./newromnvme.bin ./nvme.ffs
Now you have patched ROM and can flash it.
5. I copied newromvme.bin to MP3,1 via USB stick and ran flashrom:
flashrom -p internal -w newromnvme.bin
NOTE: You should be still in EFI FLASH MODE.
6.a. Then reboot and your MP3,1 is now NVMe bootable.
6.b. If something went wrong during startup, reset SMC and PRAM according to
Google Doc. May be you bricked your MP3,1.
APFS Support
Thanks to
@freqrider
freqrider's thread is
here. See posts
#18,
#20,
#25
Enable PCI 2.0 on slot 2.
1. Download pcietools from
Google Doc
2. Follow this guide using notes in
2.a. to know your number for PCI slot:
Post from joevt
2.a. Notes: after running
sudo lspci -nnvt, find your NVMe drive in output and see pic in
Spoiler how to edit script
In MP3,1 you should use 00:5 for Slot 1 and 00:1 for Slot 2
My result is 1050MB/s instead of 800MB/s.
When I did the same in Debian (with 64Gb RAM) I get 1280MB/s with
hdparm -Tt /path-to-disk
With dd command
after dropping buffer cache I got
1.4 GB/s. Is it possible to achieve this result or 1500MB/s on MacOS?
Questions about Slot 2 PCI 2.0
I use
this PCIe to NVMe adapter.
According to
Google Doc created by
@handheldgames and other reports in Macrumors forum my SSD with simple x4 PCIe M.2 adapter should achieve 1500MB/s but it can't.
So I have 3 questions:
1. [SOLVED]
How can I achieve speed more than 1050MB/s (1500MB/s) on MacOs?
I used Disk Sensei to check speed. It showed 1050MB/s.
BlackMagick,
AJA and
dd CLI command shows 1500MB/s read and write.
2. [SOLVED]
Did I have success with changing Slot 2 settings or something gone wrong and thats why NVMe SSD didn't achieve 1500MB/s reading speed?
3. [PARTIALLY SOLVED] Is it possible to make Slot 2 permanently PCI 2.0?
Max RAM in MP3,1. 62, 56 or 64Gb [Partially SOLVED]
As it was earlier reported, you can use only 56Gb in OsX 10.9+ without speed issues of your hard drives. In my case speed penalty was much more higher than 50% and macOS completely booted after 25 or more minutes
I have nice solution for those who run multiple OS (not only MacOS, but also Windows and/or Linux/Unix) to use 64Gb without speed penalty in MacOS.
Updated: you can run MacOs with 62Gb RAM available without speed penalty (with 64Gb installed)
You need simply limit max memory available for MacOS using this command:
sudo nvram boot-args="maxmem=57344"
So you will have 56Gb in MacOS and 64Gb in other OS.
Step-by-step guide:
1) Put RAM sticks in you MP3,1 to get total RAM lower or equal to 56Gb.
2) Run sudo nvram boot-args="maxmem=57344" in Terminal
3) Shutdown you MP3,1 and put 64Gb RAM.
4) Now you can use MacOS with 56Gb RAM available without any speed penalties and other OS with 64Gb RAM in total.
Note: 56Gb is 57344Mb
Can I have more RAM? Yes, you can run 62Gb without speed penalty!
Simply change 57344 to 63488. 62Gb is 63488Mb
sudo nvram boot-args="maxmem=63488" in
Terminal
Now you will have 62Gb in MacOS and 64Gb in other OS.
Note: I had no speed penalties running 56Gb and 62Gb with 64Gb installed.
But my PCI to NVMe adapter is simple x4.
Probably you will have speed penalty if you are using x16 PCI to NVMe adapter. I have no such adapter so I can't test this approach with such adapter.
Please check and send your results.
See pics in
Spoiler with my results.
Debian (and 99.99% all other Linux) can work with 64Gb in MP 3,1 without any speed penalty. (800MB/s in my case as in High Sierra without changing pci settings.)
I could run High Sierra with vm_compressor=1 on 56Gb without kernel panic, but with 64Gb SSD speed is very slow again.
Probably it's possible to port RAM management system from OsX 10.8 to use 64Gb without issues.
Curious notice: when I had 64Gb installed and one stick in Riser A in Slot 4 was damaged (red light on riser), total RAM was recognised as 56Gb in High Sierra and Debian. And About this Mac in memory tab showed that there were 2x 4Gb (!) sticks in Riser A Slots 3, 4. Also there was no speed penalty.
Using PCI Slot 2 with fat GPU
I don't have fat GPU in my MP3,1, but some guys told me that they can't access Slot 2 because of fat GPU.
I think in this case you can use flexible PCI riser like this (see pic in
Spoiler)
Other
If you have much RAM you can disable SWAP using this command:
sudo nvram boot-args="vm_compressor=2"
Default value is 4.
If something gone wrong set default value or reset PRAM booting with holding Option+Cmd+P+R.
Useful Links
Mac Pro CPU Compatibility List
GPU Compatibility List for cMP
Blade SSDs - NVMe & AHCI
The Definitive Classic Mac Pro (2006-2012) Upgrade Guide
I invite
@W1SS ,
@MrAverigeUser ,
@jimj740 ,
@freqrider ,
@tsialex ,
@dosdude1 ,
@joevt and others to discuss and complete this guide.
PS: If I mention users the way above will they receive notification about this thread?
PS2: Does anyone know how to contact with the authors of this
Google Doc created by
@handheldgames ?
Or where was it originally posted?