Running Dell Update Package for Red Hat Linux on Debian

Tagged:  

I have a Debian system connected up to a Dell MD1000 via a PERC 5/E. While trying to update the firmware for the PERC, I downloaded the Update Package for Redhat and ran it on Debian:

root@test03:~# ./RAID_FRMW_LX_R204810.BIN
[: 46: Linux: unexpected operator
./RAID_FRMW_LX_R204810.BIN: 52: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 53: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 56: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 57: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 58: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 59: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 97: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 100: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 103: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 104: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 105: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 108: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 109: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 110: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 111: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 112: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 113: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 116: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 117: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 118: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 119: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 120: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 121: typeset: not found
./RAID_FRMW_LX_R204810.BIN: 122: typeset: not found

Not ideal. Turns out that the shebang line for the script is #!/bin/sh, but the script actually really needs bash. The script also extracts and executes some sub scripts which also require bash, so changing the sheband line was not an option. So all I did was redirect /bin/sh to point to /bin/bash:

cd /bin
rm sh && ln -s bash sh

Which then gave:

root@test03:~# ./RAID_FRMW_LX_R204810.BIN
Cannot find utilities on the system to execute package.
Make sure the following utilities are in the path:
rpm stat stty cut fmt tty tar gzip tail rm mkdir mktemp chmod ls basename dirname wc sleep

Which was resolved by:

apt-get install rpm

After this I got:

root@test03:~# ./RAID_FRMW_LX_R204810.BIN
Error while loading shared libraries: libstdc++.so.5:
cannot open shared object file: No such file or directory.
Install the following dependencies:
RHEL: compat-libstdc.i686
SLES: libstdc++-33-32bit
Please check Dell Update package User guide for instructions
for installing the dependencies.

Which under debian is resolved by:

apt-get install libstdc++5

After which, the script worked perfectly. Which begs the question, why not add #!/bin/bash to all the scripts and support Debian/Ubuntu as well?

Very impressed by your working out the bash/sh issue - how'd you do it?

When I do this I get the following error after running the bin file and selecting "Q" after reading the on-screen read me:

gzip: /tmp/.dellSez-SAS-RAID_Firmware_8VM7T_LN32_5.2.2-0076_A11.BIN5141.U3GrVW: unexpected end of file

I'm running ubuntu 10.10 and this is the file I found to download for the perc 5/e

SAS-RAID_Firmware_8VM7T_LN32_5.2.2-0076_A11.BIN

Anyone else run into this problem, or am I doing something wrong?

If you're running 64bit Debian like I am, you'll need to install the 32bit libs as well; (or instead of libstdc++5 above);

apt-get install ia32-libs

After this I was able to run the above as well. Thanks for excellent blog!

/Maquis196

Hi Jeffw,
Nice post!
But I have run into error after the step
apt-get install libstdc++5

I still get the same error

Error while loading shared libraries: libstdc++.so.5:
cannot open shared object file: No such file or directory.
Install the following dependencies:
RHEL: compat-libstdc.i686
SLES: libstdc++-33-32bit
Please check Dell Update package User guide for instructions
for installing the dependencies.

I find libstdc++.so.5 under /usr/lib/libstdc++.so.5
So I believe I have it installed.
I VI the spsetup.sh file under /RAIDFW/ and on line 668-674
echo "Error while loading shared libraries: $_CPP:"
echo "cannot open shared object file: No such file or directory."
echo "Install the following dependencies:"
echo "RHEL: $_CPP_RPM"
echo "SLES: $_CPP_RPM_SLES"
echo "Please check Dell Update package User guide for instructions"
echo "for installing the dependencies."
which this error message appear.

I am wondering how can you go through?
which versoin of Debian are you using?5 or 6?Depend on the time of this post, I guess it should be 6.
The same as mine, why I got this error?
Any tips?
Thanks!!
Carlos

Carlos,

It looks like you need the 32 bit versions of those libraries looking at the names compat-libstdc.i686 and libstdc++-33-32bit. On debian the required package is ia32-libs (as pointed out by Maquis196 as well). So just

apt-get install ia32-libs

Strange that I didn't hit that issue!

Jeff

after apt-get install libstdc++5 ,I got

Error while loading shared libraries: libstdc++.so.5:
cannot open shared object file: No such file or directory.
Install the following dependencies:
RHEL: compat-libstdc.i686
SLES: libstdc++-33-32bit
Please check Dell Update package User guide for instructions

why?

I'm trying to do similar with ./SAS-RAID_Firmware_NX9T4_LN32_07.03.05.00_A08.BIN

I get all the way through and then get:
This Update Package is not compatible with your system configuration.

Any idea what checks its performing when before it errors?

Debian Squeeze 64.