Want to install a firmware update on one of your HP SmartArray controllers while running a 64-bit OS? Turns out, the binaries distributed by HP seem to be 32-bit only – running for example Ubuntu 14.04, here’s what you gotta do…
root@host:~#./CP021971.scexe ./CP021971.scexe: 153: ./CP021971.scexe: pushd: not found ./CP021971.scexe: 158: ./CP021971.scexe: popd: not found ./ccissflash: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
But libstdtc++6 seems already installed, hmpf… 32-bit maybe?
dpkg --add-architecture i386root@host:~#
apt-get install libstdc++6:i386
Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: gcc-4.8-base:i386 gcc-4.9-base:i386 libc6:i386 libgcc1:i386 [...]
Let’s try that again…
root@host:~#./CP021971.scexe ./CP021971.scexe: 153: ./CP021971.scexe: ./CP021971.scexe: 158: ./CP021971.scexe: popd: not found pushd: not found This program consists of two phases: device discovery and device update. No device will be updated until you answer. Do you want to run device discovery? (yes/no) yes Finding hardware. This may take a few minutes. Found 1 devices. Do you want to upgrade the device that has older ROM? (yes/no) yes 1 devices will be updated. Updating: P410i Slot: 0 from [5.70] to [6.40] Updating: P410i Slot: 0 from [5.70] to [6.40] As part of the reboot process, you must power cycle the server and any external array storage devices.
Well, that was rather easy…