What's the trick for Dell firmware updates on RHEL-like OSes?
sdowdy at ucar.edu
Wed Feb 2 11:27:01 CST 2011
If you're interested, i completely avoid using the Dell .BIN files
directly, as they do not work at all on Debian based distros and
often failed on the intended Redhat platforms (they're better now,
but used to always say things like "Can't allocate 1MB of contiguous
RAM" on my 8th gen systems (WHAT?!).
I use 'libsmbios' directly. I created a script to use the
appropriate BIOS burning executable in that package, which basically
sh ./DELL_IMAGE.BIN --extract FOO
modprobe dell_rbu # standard Linux kernel module
smbios-rbu-bios-update --test -f FOO/payload/* # make sure it's for this system
smbios-rbu-bios-update -u -f FOO/payload/* # update
(i pull all the relevant .HDR files for the systems i maintain from
the payload directory into a repo that my script references. But,
this is the gist of the process)
Works like a charm EVERY time, runs immediately, (as opposed
to often minutes with the monolithic DUP (Dell Update Package)
infrastructure of unpacking RPMs and running Dell's Disney HAPI
stuff from the .BIN image).
I actually use a REALLY old version of libsmbios which had a
different executable binary called, 'dellBiosUpdateS', so i'm
extrapolating the actual call to the newer libsmbios release.
You may have to wangle the options to get it just right. The
really old version still works great on 11th gen systems, so
i've had no incentive to upgrade the BIOS update script.
Just grab libsmbios from dell's linux.dell.com site.
(It's handy for much more than just burning BIOS updates, too,
especially the 'cmos-token' control tools)
$ ./smbios-rbu-bios-update --help
--version show program's version number and exit
-h, --help show this help message and exit
-f HDR_FILE, --hdr=HDR_FILE
The BIOS update file (.HDR file)
--hdr-info=HDR_FILE Show information about a given BIOS HDR file
--system-info Show system information and RBU completion codes
--cancel Cancel pending BIOS update
-u, --update Stage BIOS for update at next reboot
--test Test HDR file to see if it is appropriate for this
--auto-detect-mode Automatically select the optimal update mode (default,
--force-packet-mode Force update to use packet-mode
--force-mono-mode Force update to use monolithic-mode
--force-compat-mode Force update to use old dellBiosUpdate binary
Allow BIOS downgrades and re-flash
Disable check for system-id (Dangerous)
--reboot Reboot the system after successfully staging update.
--no-reboot Do not reboot the system after staging update.
-v, --verbose Display more verbose output.
-q, --quiet Minimize program output. Only errors and warnings are
--trace Enable verbose function tracing.
Specify alternate config log.
--password=PASSWORD BIOS Setup password for set/activate operations.
-r, --rawpassword Do not auto-convert password to scancodes.
Path to a memory dump file to use instead of real RAM
--cmos-dat=CMOS_DAT Path to a CMOS dump file to use instead of real CMOS
More information about the Linux-PowerEdge