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.