How to Flash IBM ServeRAID M5014 to LSI 9260-8i Firmware
The IBM ServeRAID M5014 has quickly become a enthusiast favorite. Recently we did a piece on finding a great deal on IBM ServeRAID M5014’s with BBUs inexpensively. On ebay there are tons of no-bracket M5014 part 46M0916-B2 for $130.30 with free shipping and tax in California. The IBM ServeRAID M5014 is great. The card is essentially a LSI MegaRAID 9260-8i with half of the cache (256MB instead of 512MB) and no RAID 6 or RAID 60 support without the IBM M5000 feature key. For the price, that is probably the best deal around. IBM sells a ton of the ServeRAID M5014 RAID controllers every month and they have great firmware. That is, great firmware for servers that run 24/7. One of the drawbacks is that the IBM ServeRAID M5014 firmware takes a long time to initialize. Just to give you an idea, the below steps have cut well over 30 seconds off of my boot time. Let’s see how to flash the IBM M5014 with LSI firmware.
WARNING – These procedures may permanently damage your hardware. Follow them at your own risk. All responsibility for damage to hardware, software, business or reputation will be solely that of the person attempting to modify their hardware in the manner described herein. Simple version – there is risk to your hardware with this. If something goes wrong it is solely your responsibility.
Flashing the IBM ServeRAID M5014 to LSI 9260-8i Firmware
The first step in this is to get proper firmware. Here is my IPMI compatible DOS Live CD here is the version I use with Supermicro X9SCx BIOS flashing utilities and LSI SAS2008 and SAS2108 firmware. Since the IBM ServeRAID M5014 is a LSI SAS2108 based card, there are lots of options that one can flash to. Once that is done, one just needs to boot to the CD or USB drive that has the flashing tools.
After booting, you need to get to a directory with LSI megarec and the bin and rom files we will be using. Note, this was before I made the Live CD.
The first step in the flashing process is to clear the IBM ServeRAID M5014 of the IBM firmware.
megarec -writesbr 0 sbrempty.bin
This step allows you to flash the IBM card to firmware from other vendors. 0 is for the card’s position so if you have multiple cards, you may need to change this. sbrempty is used by my Supermicro and LSI firmware Live CD and many others, however you can use a different empty bin if you would like, especially on writable media such as a USB drive.
Next, since we are flashing the IBM ServeRAID M5014 to LSI 9260-8i firmware, we now need to load the LSI bin.
megarec -writesbr 0 sbrlsi.bin
You could also flash another IBM BIN onto the IBM M5014 at this point or a Sun BIN as an example.
Next is a step that I have heard folks skipping successfully. With that being said, I always do it when using megarec flashing, so it is in the IBM ServeRAID M5014 guide.
megarec -cleanflash 0
0 is the location of the IBM M5014 one is flashing.
After you see this success prompt, it is time to reboot. If you are using IPMI 2.0 you can simply hit the control alt delete macro or use remote power control. If you are physically at the machine, you can do the same. Either way, you need to reboot into the directory that has the LSI flashing files.
Next, you use the command:
megarec -m0flash 0 0102_lsi.rom
Again, the 0 is the target card’s reference number. The 0102_lsi.rom the file being flashed to the controller.
This will take a bit of time but should say success at the end.
At this point, all one needs to do is reboot the server. The IBM ServeRAID M5014 will show up as a LSI 9260-8i. Boot times will be greatly reduced.
Interestingly enough, this was done using the remote KVM-over-IP and remote CD mount of a Supermicro X9SCM-F. LSI’s knowledge base says that flashing on Intel 3000, 5000 and Supermicro X9 motherboards is hard. The above process takes a few minutes and works well on Supermicro X9 motherboards.