Upgrading Dell ESM firmware on an unsupported OS

I recently received a free Dell Poweredge 1750 from work ( they were having a clearout of old hardware and I grabbed it first ), and naturally the first thing I installed was Funtoo ( essentially it’s an experimental version of Gentoo ) .

Installation worked fine, but the only problem I have is the server is quite loud. Plugging in the second PSU dropped the noise considerably, but I would like it to be quieter. Googling around, I found a few suggestions to upgrade the BIOS and ESM firmware, upgrading the BIOS was simple – download the BIOS .bin file from Dell, chmod +x and run, but the ESM upgrade isn’t as simple.

I attempted downloading the ESM file from Dell , and setting the execute permission on the file, it indicated some dependencies were missing:

./spsetup.sh: Cannot find utilities on the system to execute package.
Make sure the following utilities are in the path:
sed stty cut fmt stat look lockfile tail rm mkdir mktemp chmod ls basename dirname sleep

After satisfying the dependencies ( I had to install app-arch/rpm to satisfy rpm, and mail-filter/procmail to satisfy lockfile ), I re-ran the ESM script, and received this error:

line 123: source: buildVer.sh: file not found

Apparently the reason for this error is because the script from Dell doesn’t work with bash 4 ( in bash and earlier the ‘source’ command looks in the same path as the running script, in bash 4 and later it doesn’t ).  I did try to modify the scripts and fix the bug ( ie replacing source buildVer.sh with source ./buildVer.sh ), which did fix that error, but just raised more.

In the end, I simply downloaded the CentOS-based Dell OSMA live cd. I didn’t have a screen attached to the server, however luckily it runs SSH on boot – the only problem being I didn’t have the password to the live cd. In the end, I pressed ctrl+alt+f1 , then blindly typed:

passwd
testpass
testpass

Which reset the root password, and allowed me to log in via ssh to the server. I then ran:

wget http://downloads.dell.com/esm/PE1750-ESM-LX-A37.bin
chmod +x PE1750-ESM-LX-A37.bin
./PE1750-ESM-LX-A37.bin

After a few minutes the firmware upgrade was successfully installed:

Collecting inventory...
......................................................................................................................
Running validation...

ESM

The version of this Update Package is the same as the currently installed version.
Software application name: Baseboard Management Controller
Package version: 1.84
Installed version: 1.84

The version of this Update Package is the same as the currently installed version.
Software application name: Primary System Backplane
Package version: 1.01
Installed version: 1.01

The version of this Update Package is the same as the currently installed version.
Software application name: Sensor Data Records
Package version: 0.33
Installed version: 0.33

Continue? Y/N:y
Y entered; update was forced by user
Executing update...
WARNING: DO NOT STOP THIS PROCESS OR INSTALL OTHER DELL PRODUCTS WHILE UPDATE IS IN PROGRESS.
THESE ACTIONS MAY CAUSE YOUR SYSTEM TO BECOME UNSTABLE!
..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
The ESM firmware update completed successfully.
Would you like to reboot your system now?
Continue? Y/N:y

After rebooting, the new firmware was installed.