Recently I've been building a "cloud" of my own, and I have decided to use TrueNAS.
TrueNAS uses the ZFS file system, which provides various strategies and techniques that make hardware RAID not only unnecessary but also counterproductive.
I won't enter the details of ZFS, nor why it doesn't play well with hardware RAID. If you want to know more, you can visit the FreeNAS worst practices. This topic is the very first one.
In my case, this problem affected me because I had decided to buy a nice enterprise-grade Host Bus Adapter (HBA), so my choice was the IBM ServeRAID M1015, and I had to flash it to use IT mode, which makes the data simply pass-through without RAID.
It was quite a challenge because there are many blog posts, youtube videos and forum discussions about this out there, but I was one of the lucky ones which none of them worked. Actually worse, it half worked.
This thread is widely referenced. Almost every page points to this discussion about flashing M1015. It's is a good one, the files you'll need are available there, the commands and feedbacks from other people.
The problem in my case was that half of the process worked with the information I found there, the half one telling how to wipe out the existing firmware. The second part, where we write the new firmware, didn't work, so I was at this point looking to a dead HBA.
In my case, the problem was the flash drive. A DOS bootable was enough for the first part, but it requires an EFI boot for the second one.
Part I - Taking note of the SAS address.
Before starting, it's better to take note of the SAS address. It'll be necessary later, is a sequence of numbers on a green stick at the back of the card. Just write them down.
Part II - Removing the IBM M1015 firmware.
- Create a bootable FreeDOS key. You can use Rufus if you're using windows or Unetbootin if you're using Linux
- Download SAS2008 and unzip at the root of the drive
- Boot from the USB key
- Remove IBM's firmware
megarec -writesbr 0 sbrempty.bin
megarec -cleanflash 0
Part III - Flashing 2118IT.bin
Here is where things get tricky, you need to create a specific file path and place the EFI shell inside to make this work. Once you're done, the indicator that it worked is a different look console after the boot. You'll see yellow words and so on.
Before booting from the key
- Download the EFI shell from here
BOOTx64.EFIand place it at
/USB_drive/EFI/BOOT/BOOTx64.EFI- You can create the structure by hand. I did
- Download the LSI DOS files and unzip them at the root of your drive
- Restart your machine and change the boot options. Look for anything related to EFI boot. This option is what makes the boot goes straight to the EFI shell
- Boot from the USB key
Once in the EFI shell, hopefully, you can see different colours meaning that it worked.
mapto list the devices
- Access the USB key,
- Select the device
- You can now navigate through the key's file system with
- Flash the new firmware
sas2flsh -o -f 2118it.bin -b mptsas2.rom(
sas2flsh -o -f 2118it.binif OptionROM is not needed)
- Write back the SAS address
sas2flsh -o -sasadd 500605bxxxxxxxxx(x= numbers for SAS address)
Get the latest posts delivered right to your inbox.