For my ESXi system I am using an 8 port HP P400 SAS raird card. Its only used for Raid 10 so its ok, more important its in vmwares HCL list!

I've been having some issues getting the card to boot on my SuperMicro H8DME-2. I am not sure this will fix it but thats a task for another day.

So lets to look for the firmware update..

If you go to the HP support and drives page for the P400 you will only find the IA64 firmware...

To get the latest x86 Firmware you need to find a system that comes with the P400. I selected a DL185 G5. Under Firmware - Storage Controller You can find the following "Firmware CD Supplemental Update / Online ROM Flash Component for Linux - Smart Array P400 and P400i" current version at time of writing this is "6.86(B)".

You need to download the following file "CP011319.scexe". According to HP all you need to do is set execution permissions and run it.. cough.. of course that won't work right...

Given that the box with the card only has ESXi installed I decided to boot up a Gentoo minimal install CD. No supprise, its not working throws the following error :

 ./CP011319.scexe: error while loading shared libraries: cannot open shared object file: No such file or directory "

Thats handy.. no surprise that my gentoo cd is missing this library its called minimal for reasion.  Also its an older libstdc++ library. So i droped in the latest ubuntu live cd " ubuntu-9.04-desktop-i386.iso " The reason I went for ubuntu is simple, you can install binary packages on to the live cd while its running.

Running the CP011319.scex under ubuntu gives you the same error as gentoo. You need to install the GNU stdc++ library,  libstdc++2.10-glibc2.2 . this provides " /usr/lib/ " I downloaded the following version " libstdc++2.10-glibc2.2_2.95.4-27_i386.deb"

You can install via :

# dpkg -i libstdc++2.10-glibc2.2_2.95.4-27_i386.deb

Now you can re run the firmware flash. It will go ahead with out an issue, can take a while though. Reboot your system and check boot message on the p400.