// vim:expandtab:autoindent:tabstop=4:shiftwidth=4:filetype=txt: /*! \page dellBiosUpdate Documentation for dellBiosUpdate executable \section NAME dellBiosUpdate \section SYNOPSIS 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: \ref dell_drivers *Note: Packet RBU is implemented but untested at this time. Therefore, it is disabled by default. \verbatim $ 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 \endverbatim \section DESCRIPTION \subsection th 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 \ref bios_hdr \section RETURN VALUE \section ERRORS \section RESTRICTIONS \section SEE ALSO */