This article shows how to upgrade firmware for LSI MegaRaid SAS controller using a FreeDOS and firmware update downloaded from their official website. In this write-up, we use LSI MegaRaid SAS 9260-4i controller. You can always find the controller model by entering into the webBIOS option of MegaRaid controller while the server is starting up.
I went up using FreeDOS because the server was a new build and contains no operating systems. The server was accessible via KVM over IP and plugging in a USB with bootable LiveOS is not possible. Let us see how it works via creating an ISO and updating the firmware. This build requires a windows installation in the local machine and a zip extractor like 7-zip.
Building a Free DOS bootable ISO with MegaCli and Firmware update
fdos.org has many images and builders available for making a FreeDOS distro. Download the FDOEMCD.builder.zip file which is a builder package which can be used to create an ISO file.
Download URL : http://www.fdos.org/bootdisks/ISO/FDOEMCD.builder.zip
Once downloaded, extract the content to any location on your local machine. We will call that folder as “FDOEMCD” further for easy writing. Also, we require 64-bit binaries of mkisofs.exe. It can be downloaded from http://smithii.com/cdrtools and the file is cdtools-latest.zip.
Download URL : http://smithii.com/files/cdrtools-latest.zip
From the downloaded zip file, extract “mkisofs.exe” and “cygwin1.dll” and put them in your “FDOEMCD” folder. Accept the prompt if any for overwriting the “mkisofs.exe” file as it might be already there.
Next, we will download MegaCli or StorCLI and RAID controller firmware from their official builds or choice of yours. I downloaded the latest firmware and MegaCli from the link as below.
Download Url: https://www.broadcom.com/products/storage/raid-controllers/megaraid-sas-9260-4i#downloads
Look through and you can download the latest versions of firmware as well as MegaCLI or StorCLI from the above link or the link to your RAID controller.
Next, we will make an ISO from the downloaded zips
Extract the MegaCLI from the “DOS” folder inside the MegaCLI or StorCLI zip file and the firmware “mr2108fw.rom“ (in this case) from its ZIP files. In this case, it was mr2108fw.rom. Copy both MegaCLI.exe and mr2108fw.rom file to “FDOEMCD/CDROOT” directory. Once copied, just run “FDOEMCD\makeiso.bat” from the command prompt or double click the file “makeiso.bat”. This will create fdoem.iso in “FDOEMCD” folder.
Installing the firmware from the ISO we just built
We are ready to go with upgrading the firmware. The ISO is just around a few MB in size and can be easily mount using “Mount an ISO” option with your KVM over IP. Mount/attach the ISO using KVM and restart the server. We need to boot from the ISO. So select the Virtual CD-ROM in the boot selection option. Once loaded and no errors, It will boot to the DOS Prompt. Once in DOS prompt, use the below commands to run an update.
MegaCli -adpfwflash -f mr2108fw.rom -a0 or StorCLI /c0 download file=mr2108fw.rom
It may take a few minutes to complete. Don’t power off or reboot the server if it is not responding or not showing any messages for a few minutes. Once it is completed, you will get a success message. Now unmount the ISO and restart the server. Bingo!!! The RAID controller is now running with an upgraded firmware.
This method can be used, not just for a single model of the controller or a firmware update. This way can be used with all LSI or Adaptec controller and also for updating BIOS over KVM.
Let me know how it goes.!