Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

LightBulbFun

macrumors 68030
Original poster
Nov 17, 2013
2,900
3,195
London UK
not really sure what thread this goes in, but @tsialex im pleased to report that with your write up I was able to successfully graft all the personal info from my Xserve3,1's B06 BootROM into a B09 BootROM dump I have of another members Xserve, and flash it without anything be bricked, and with all serial number etc as it should be :) quite pleased about this as I have wanted to play with the B09 Xserve BootROM, but did not want to flash another machines personal info onto mine

1582573582764.png


1582573615397.png


Any errors doing the process I describe will make your Mac Pro a brick, you have just one shot.

This is not intended to teach how to create the intermediate files, it's just just a quick and dirty extraction of the original NVRAM volume, MLB-LBSN sector from the MP4,1 dump, injection inside the MP5,1 generic flashing image and correcting the jumping points.

Any errors and problems inside the MP4,1 dump will migrate to the MP5,1 firmware. Again, it's a quick and dirty way to help @fhturner out of a problem.


You can do it your self, just use my reconstruction instructions in reverse to extract the NVRAM and MLB sector from the MP4,1 dump, edit the jump point at the very end of the BootROM, then insert into 144.0.0.0.0 MP51.fd.

  1. Open the MP4,1 dump with with UEFITool 0.25.1 and extract the NVRAM from the MP4,1 dump, save it.
  2. Extract the MLB/LBSN sector from the MP4,1 dump, save it.
  3. Open 144.0.0.0 MP51.fd with UEFITool 0.25.1 and inject (replace as-is) the saved NVRAM volume.
  4. Inject the MLB/LBSN sector into MP5,1 generic image.
  5. Open the original unmodified MP51.fd and the image already injected with HexFiend. On the original unmodified MP51.fd window, go to the end of the image, mark and copy the last 20 bytes (exactly like the green highlighted screenshot below).
  6. On the other window with the already injected MP5.1, change the edit mode (Menu Edit, Mode, Overwrite) from Read-only to Overwrite and then paste the 20 bytes you copied from the unmodified window over the exactly same area. Now the injected MP51 image will work.
  7. Check if the SPI image still have the same size (4.194.304 bytes).
  8. Flash the reconstructed image to the SPI flash using flashrom or ROMTool.

The most important thing is to correct the jumping points from the old MP4.1 firmware to the new MP5,1 here:
 
  • Like
Reactions: crjackson2134

tsialex

Contributor
Jun 13, 2016
13,455
13,602
not really sure what thread this goes in, but @tsialex im pleased to report that with your write up I was able to successfully graft all the personal info from my Xserve3,1's B06 BootROM into a B09 BootROM dump I have of another members Xserve, and flash it without anything be bricked, and with all serial number etc as it should be :) quite pleased about this as I have wanted to play with the B09 Xserve BootROM, but did not want to flash another machines personal info onto mine

View attachment 895936

View attachment 895937
Nice that you got it working fine, glad to help.

It's a easy enough process, but took some bricks and months of tests to get it just right. The MP4,1>5,1 hybrid firmware from the netkas forum firmware upgrade tool was a red-herring that took some months and and a real MP5,1 to understand.

Just a note for people reading this later: Xserve firmware changes from B06 to B09 don't need any correction of the jumping point at the end of MLB/LBSN sector, only MP4,1 to MP5,1 firmware changes.
 
Last edited:
  • Like
Reactions: LightBulbFun

LightBulbFun

macrumors 68030
Original poster
Nov 17, 2013
2,900
3,195
London UK
Just a note for people reading this later: Xserve firmware changes from B06 to B09 don't need any correction of the jumping point at the end of MLB/LBSN sector, only MP4,1 to MP5,1 firmware changes.

interesting :) I noticed they were a little different between B06 and B09, so I copied the B09 one across just to be safe
 

LightBulbFun

macrumors 68030
Original poster
Nov 17, 2013
2,900
3,195
London UK
Ah was wondering where my posts had gone! I see they have been split off into their own thread, figured that might have happened!

anywho for those wondering heres a CPU-Z dump of my XServe running the "new" B09 BootROM :) http://valid.x86.fr/9y3lzu

and for comparisons heres a CPU Z dump of the old B06 BootROM http://valid.x86.fr/yfi38v

(I was hoping the B09 BootROM might have implemented the necessary display protocols so windows would display a boot screen but sadly it does not so I still have to boot blind until the display driver kicks in)

next on the list at some point in time is get and delid 2 W5590's and test if they are properly identified and if 1333Mhz RAM then works or not

(I know the W5590's work with the B06 BootROM, but I THINK they show up as "3.32Ghz" rather then "3.33Ghz" in about this mac, much like how a W3565 shows up as 3.19Ghz in a MP4,1)
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.