Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Documentation for dellBiosUpdate executable




The dellBiosUpdate executable is used to stage BIOS updates. It works across all Dell platforms that the libsmbios maintainer is aware of. The input to the dellBiosUpdate executable is a Dell BIOS header (.HDR) file. The instructions for obtaining this file are below. This update relies on the "dell_rbu" kernel driver, first available in Linux 2.6.14. This executable supports both packet-based(*) and the older monolithic RBU methods. For more information on installing the dell_rbu driver, see here: Dell 'dcdbas' and 'dell_rbu' Linux kernel drivers.

Note: Packet RBU is implemented but untested at this time. Therefore, it is disabled by default.

$ dellBiosUpdate
Usage: dellBiosUpdate [options]

  --help,       -h                      Displays this information

  --hdr,        -f <args>               BIOS update file (.HDR file)

  --info,       -i                      Dump BIOS update .HDR file info. Does not perform BIOS update
  --cancel,     -c                      Cancel a previously-scheduled BIOS update
  --update,     -u                      Schedule BIOS update
  --test,       -t                      Test this HDR file to see if it is appropriate for this system.

  --auto_detect                         Auto-detect update type
  --force_packet                        Force update type to be packet-based
  --force_mono                          Force update type to be monolithic-based

  --override_sysid                      Attempt BIOS update even if .HDR file does not appear to match this system
  --override_bios_version               Attempt BIOS update even if .HDR file is older than current system BIOS

  --version,    -v                      Display libsmbios version information


Theory of operation for RBU

RBU works by separating out the specific code that performs that BIOS update from the data of the BIOS update. The code that does the actual BIOS update is stored in BIOS, while the new BIOS data is stored as a header (.hdr) file. This simplifies BIOS updates because the programming of flash and handling of myriad flash formats and vendors is simplified.

The OS-specific part of RBU is simplified. The only operation that needs to happen in the OS is that the BIOS needs to be staged in physical RAM. In the older "monolithic" method, the entire .hdr file is staged in contiguous physical RAM. The newer "packet" method allows the OS to break the image up into similarly-sized packets, each with a header and data. This eases the requirement for physically contiguous physical RAM. The system is then rebooted and the existing system BIOS finds the BIOS update and does the flash programming.

The BIOS uses a bit in CMOS as a flag on bootup to indicate that it should perform an RBU operation. The OS-based BIOS update program sets this CMOS bit before rebooting to flag the BIOS that the update needs to be performed.

In this model, the "dell_rbu" Linux kernel driver performs the job of allocating contiguous physical memory. The dellBiosUpdate executable transfers the header file to dell_rbu and sets the CMOS RBU flag.

For more information on obtaining BIOS .HDR files, see Dell BIOS .HDR files





Generated on Wed Apr 11 16:25:11 2007 for SMBIOS Library by doxygen 1.3.5