Repository/firmware
From DellLinuxWiki
This page describes the Dell Firmware Repository. For more information about the Dell Linux repositories, go to the main repository start page.
[edit] firmware-tools
The firmware repository is BETA SOFTWARE, and has only community support.
The dell firmware repository is based on the firmware-tools codebase. It relies on firmware-addon-dell and was created using dell-repo-tools. See the recent firmware-tools announcement here: Firmware Tools Announcement
An admin-oriented overview is here: Admin Guide
We presented a paper at OLS 2006. The draft is here: OLS 2006 Presentation
[edit] firmware repository
[edit] Why?
Dell's firmware-tools project and dell software repository provide a mechanism which can be used to update the BIOS and other firmware on our systems. We used the mkbiosrepo.sh script in the dell-repo-tools package to build a repository of all the BIOS and firmware images available on http://support.dell.com (only the latest version for each system is in the repository). Now our systems' BIOS and firmware stays up to date automatically by the same method our operating system software stays up to date.
You can browse our repository.
N.B.: BIOS firmware is handled at present. As
the firmware-tools project makes new firmware types available
(PERC, Embedded Systems Management, DRAC, ...), we'll post those here too.
[edit] Repo-Users mailing list
If you have systems that download updates from this site, please consider joining our firmware-tools-devel mailing list. This list is for people who have systems that download updates from the repositories hosted on here. This is a way for the site admins to communicate important issues out to the site users, and for site users to discuss amongst themselves.
[edit] This site is COMMUNITY SUPPORT ONLY
This *only* support for firmware updates that you get from this site is via the mailing list. If you call dell phone support, it is unlikely that they will even know this exists, and under no circumstances would they be able to fix any problems with it. On the other hand, the developers of this software are on the mailing list, and will likely be able to look at and fix your problem.
This webpage is for informational purposes only, may contain typographical errors, technical inaccuracies, and information about configurations which are not officially supported by anyone. The content is provided as is, without express or implied warranties of any kind.
We presume that the firmware-tools software, and related applications, work as expected. However, the act of flashing firmware into a device can occasionally go unexpectedly wrong, and recovery from such errors may be difficult. You've been warned.
[edit] Repository Layering
This repository consists of stand-alone RPMs which contain firmware payloads. As such, and alone, this repository can do nothing. However, when combined with the dell-software repository, and that of each handled operating system, allows easy updating of our system firmware.
[ OS Base ] [ OS Updates ] [ dell-software ] [ dell-firmware ]
[edit] Supported Distributions
Specific instructions for Fedora, CentOS, RHEL, and Ubuntu are below. In addition, we have instructions for using this with Novell Zenworks.
[edit] Pre-Setup
Important: You must complete some pre-setup tasks before using this repository, as outlined below.
- Update System: Fully update your system, using yum, up2date, yast, apt-get or aptitude.
- Set up system for dell-software (firmware-tools, libsmbios and more).
[edit] Set Up
To set up your system to pull from the firmware repository, run the following command as root:
wget -q -O - http://linux.dell.com/repo/firmware/bootstrap.cgi | bash
This will install the libsmbios and Dell GPG keys, and installs the dell-firmware-repository package which configures yum, up2date, and apt to pull from the repository.
- N.B.: This doesn't configure for SuSE SLES9 systems yet.
[edit] Downloading firmware
On Fedora and CentOS systems:
# install BIOS payload yum install $(bootstrap_firmware)
On RHEL systems:
# install BIOS payload up2date --solvedeps=$(bootstrap_firmware -u)
On SLES10 systems:
# install BIOS payload # this may take a long time to execute (1-10 mins depending on system) rug install $( bootstrap_firmware | xargs -n1 -r rug --terse wp | cut -d'|' -f3 | grep -v "No matches" | sort | uniq )
On Ubuntu systems, be sure the Universe section is enabled in /etc/apt/sources.list, then do:
aptitude install firmware-addon-dell aptitude install $(bootstrap_firmware -a)
[edit] Flashing the firmware
update_firmware
This will install the most recent firmware for your system found in /usr/share/firmware/bios/. This is not necessarily what yum just installed, but most often will be. Because the actual flash occurs during system POST, you've got to reboot your system for this to take effect. update_firmware just stages the flash to occur, but doesn't trigger a system reboot. The next time your system reboots, the flash update will occur.
On some systems, update_firmware may require up to 2MB of physically contiguous RAM, which may not be available if your system has been running for a while and available physical memory has become fragmented. If update_firmware fails because of insufficient memory, simply reboot and run update_firmware soon after reboot.
Notebook systems must be plugged in to A/C power for the flash to happen. Please ensure your system is plugged in prior to running update_firmware.
Note that prior to firmware-tools 1.1, the "update_firmware" command was named "apply_updates".
[edit] Putting it all together
For Fedora and CentOS:
# set up repos wget -q -O - http://linux.dell.com/repo/software/bootstrap.cgi | bash wget -q -O - http://linux.dell.com/repo/firmware/bootstrap.cgi | bash # install firmware tools yum -y install firmware-addon-dell # install BIOS update yum -y install $(bootstrap_firmware) update_firmware
For RHEL:
# set up repos wget -q -O - http://linux.dell.com/repo/software/bootstrap.cgi | bash wget -q -O - http://linux.dell.com/repo/firmware/bootstrap.cgi | bash # install firmware tools up2date -i firmware-addon-dell # install BIOS update up2date --solvedeps=$(bootstrap_firmware -u) update_firmware
For SLES10:
# set up repos wget -q -O - http://linux.dell.com/repo/software/bootstrap.cgi | bash wget -q -O - http://linux.dell.com/repo/firmware/bootstrap.cgi | bash # install firmware tools rug install firmware-addon-dell # install BIOS update rug install $( bootstrap_firmware | xargs -n1 -r rug --terse wp | cut -d'|' -f3 | grep -v "No matches" | sort | uniq ) update_firmware
For Ubuntu systems, be sure the Universe section is enabled in /etc/apt/sources.list, then do:
# set up repos wget -q -O - http://linux.dell.com/repo/firmware/bootstrap.cgi | bash aptitude install firmware-addon-dell aptitude install $(bootstrap_firmware -a) update_firmware
[edit] Automatic installation of new firmwares
Many people configure their system to update to any new RPMs daily. The above configuration will update firmware RPMs at that time too, but that only affects the file system, not the actual flash part. You can have your system automatically flash the new firmware by setting rpm_mode=auto in /etc/firmware/firmware.conf:
perl -p -i -e 's/^#rpm_mode=.*/rpm_mode=auto/' /etc/firmware/firmware.conf
N.B.: a reboot is still required to actually flash the BIOS.
[edit] Troubleshooting when it doesnt work
See the Troubleshooting page for details.
[edit] Local mirrors
If you wish to mirror the Dell repositories to a local mirror, rsync is available. rsync://linux.dell.com/repo.
[edit] Known Issues
- Systems Missing RBU lists systems known to not support BIOS updates via firmware-tools at this time.
- BMC Firmware packages are posted. The flash tool is also posted, but it is currently disabled.
[edit] Adding other operating systems / Linux distributions
If you're interested in porting the firmware-tools project software, or enabling non-RPM package formats (say Gentoo or Debian), please send an email to the firmware-tools project public mailing list http://lists.us.dell.com/mailman/listinfo/firmware-tools-devel. We'd welcome expert assistance.
[edit] Adding other system types/peripherals
We welcome developers to create plugins for their system types and peripherals. Discussion should happen on the firmware-tools-devel mailing list. While this site today hosts only materials for Dell systems, we would consider hosting materials for other system types and peripherals.
[edit] Support
This is the firmware package repository. For support questions related to this package repository, please use the appropriate mailing list:
- For firmware-tools related questions: http://lists.us.dell.com/mailman/listinfo/firmware-tools-devel
- For libsmbios related questions: http://lists.us.dell.com/mailman/listinfo/libsmbios-devel. All other software in this repository is unofficial. For libsmbios questions, please use the mailing list.
- For other questions: http://lists.us.dell.com/mailman/listinfo/linux-poweredge
Do not call Dell Technical support with questions about this repository, or software installed from this repository, as they will not be able to help you! For all questions, please use the mailing lists above.
