[announce] firmware-tools: easier bios updates in Linux

Matt Domsch Matt_Domsch at dell.com
Wed Jun 7 15:05:30 CDT 2006


On Wed, Jun 07, 2006 at 09:45:42PM +0200, Florent Gilain wrote:
>  I get a problem here on a PE1850 with the bios A05 update :
> 
> [root at mx1 root]# apply_updates --yes
> 
> Searching storage directory for available BIOS updates...
>                                                                      -
> Checking: bios_ven_0x1028_dev_0x016c_version_a05/package.ini
> Checking system_bios(ven_0x1028_dev_0x016c) - a04
>         Found Update: system_bios(ven_0x1028_dev_0x016c) - a05
> 
> Found out of date packages.
> 
> Running updates...
> Installing system_bios(ven_0x1028_dev_0x016c) - a05
> modprobe: Can't locate module dell_rbu
> [root at mx1 root]# up2date -u
> http://linux.dell.com/yum/software/mirrors-rhel3.txt
> using mirror: http://linux.dell.com/yum/software/rhel3/
> 
> Fetching Obsoletes list for channel: rhel-i386-es-3...
> 
> Fetching Obsoletes list for channel: rhel-i386-es-3-extras...
> 
> Fetching Obsoletes list for channel: dell-software...
> 
> Fetching Obsoletes list for channel: fwupate...
> 
> Fetching rpm headers...
> 
> Name                                    Version        Rel     
> ----------------------------------------------------------
> 
> All packages are currently up to date
> 
> 
> Any idea ? I hesitate to reboot this server   ;-((

OK, a little background.

The actual BIOS flash happens after the system reboots, during POST.
So one reboot, at a minimum, is required.

Now, in order for BIOS to do the flash during POST, it uses the
'dell_rbu' kernel module to load the BIOS image into memory first.
The dell_rbu kernel module is available in recent RHEL3, RHEL4, and
SLES9 kernels, as well as other fairly recent kernels.  If you don't
have a fairly recent kernel for your distribution, you probably should
anyhow. :-)

It's possible to load a DKMSified copy of dell_rbu, however, if your
system has been running for quite a while, even then it might not
work.  The dell_rbu driver tries to allocate a fairly large (1MB)
chunk of physically contiguous RAM into which to put the BIOS image.
If your system has been running for a while, chances are the dell_rbu
driver won't be able to get that much physically contiguous RAM from
the kernel; you'll have to reboot, and then shortly after booting, run
'apply_updates'.  Then reboot again, and the BIOS is actually flashed.

Some Dell systems, notably the new PowerEdge x9xx servers and some
desktop systems, allow the BIOS image to be split into "packets" which
makes it far easier to allocate RAM for it.  Alas, x8xx servers don't
have this capability, and don't plan to add it.

Thanks,
Matt

-- 
Matt Domsch
Software Architect
Dell Linux Solutions linux.dell.com & www.dell.com/linux
Linux on Dell mailing lists @ http://lists.us.dell.com



More information about the Linux-PowerEdge mailing list