Updating system BIOS when running Ubuntu


The Official Dell Corporate Blog

Updating system BIOS when running Ubuntu

I've published firmware-tools deb packages, and the latest system BIOS images for 223 Dell system types, into a new repository on linux.dell.com.  Please see the instructions for how to use them.  In a nutshell, for Ubuntu systems with 7.04 Feisty, 7.10 Gutsy, or Hardy, be sure the Universe section is enabled in /etc/apt/sources.list, then run as root:

  wget -q -O - http://linux.dell.com/repo/firmware/bootstrap.cgi | bash
  aptitude install firmware-addon-dell
  aptitude install $(bootstrap_firmware -a)

The bootstrap command downloads a GPG key for use in validating the linux.dell.com repository, and sets up the dell-firmware and dell-software sections for use by apt.

A reboot is required for the flash to actually happen.

There are two packages, firmware-tools and firmware-addon-dell, needed for this which are currently under review by the MOTU team.  I hope to have these included in Hardy.

We have had this service available for quite a while for several RPM-based distributions including Fedora, RHEL, CentOS, and SLES.  We're pleased to be able to bring this to the dpkg-based distributions now as well.  If you're interested in helping maintain these packages in other distributions, please join us on the firmware-tools-devel mailing list (subscribe and read archives).


To post a comment login or create an account

Comment Reminder

Unrelated comments or requests for service will be unpublished. Please post your technical questions in the Support Forums or for direct assistance contact Dell Customer Service or Dell Technical Support.. All comments must adhere to the Dell Community Terms of Use.

  • Users of Ubuntu are generally told not to use root prompts, but instead to use sudo to gain necessary authorisation to accomplish adminstrative tasks.

     Your steps pass a web-downloaded script directly to a root bash shell. Not something I'd recommend a user do under any circumstances, especially your target audience of home users.

     Please could you modify/update your steps to use a more sane set of tasks as non-root.


  • Alan, I agree, running most things as root is a very poor idea.  However, with the exception of the actual download of the bootstrap script, each of the things done in the bootstrap script (adding GPG keys to the apt keyring, adding apt sources.list lines) and each of the things that happen thereafter (installing packages, getting system hardware inventory, running update_firmware) _do_ require root privileges.  So yes, it could be re-written:

     $ wget -q -O - http://linux.dell.com/repo/firmware/bootstrap.cgi > bootstrap.sh

    (very carefully read bootstrap.sh)

    $ sudo  bash bootstrap.sh
    $ sudo aptitude install firmware-addon-dell
    $ sudo aptitude install $(sudo bootstrap_firmware -a)
    $ sudo update_firmware

    but I'm not sure that's any prettier.

  • Good to have these tools in Ubuntu!

    However the packages are not perfectly tailored for a deb based system:

    • they install some yum related files, and depend on rpm related libraries,
    • I have noticed this error launching the gui: Unable to open /usr/lib/rpm/rpmrc for reading: No such file or directory,
    • no menu entry for the gui.

    With a little polishing though inclusion in hardy should not be a problem and Dell will be even more appreciated from Ubuntu users.

  • The yum / rpm related files, which look for rpmrc, implement a handy version comparison function that works for BIOS versions as well as RPM versions.  It can probably be replaced, which would eliminate those dependencies and messages.  Patches welcome.  GIT repository at http://linux.dell.com/git/firmware-tools.git/

    Good point about the GUI.  It's a new feature, so we need to add a .desktop file for it.  Thanks for the reminder.

  • @pabs: thanks for owning a Dell laptop.  The BIOS images posted for Dell systems are not open source, though it's been requested many times. Do you not trust the system you have now (for whichever definitions of trust you wish to use)?  If so, how would these updates be any different?

     It's taken a while to get all the packages building for the Ubuntu versions we do support.  I suspect I'll get even more feedback on the packaging now that they're available, and I simply haven't taken the time to build the packages for Debian.  I have every reason to believe they will build there.  And yes, I would love to see these included in Debian and Ubuntu both, just as they are included in Fedora.

    As for duplicating apt/dpkg and yum/rpm, no, in fact we don't do that at all.  We use dpkg/rpm packaging to provide the tools and payload files in an easily-consumable format, and apt/yum for package management.  The goal is to fit cleanly into these existing tools, absolutely not duplicate them.

  • Good to see you have Debian packages too, even though you didn't mention it. Will you be including firmware-tools and firmware-addon-dell in Debian?

    I'd like to be able to trust Dell's firmware, since I have a Dell Laptop, but I cannot do that unless you provide source code for verification.

  • Bah, seems no-one actually cares about Debian, they just make the appearance of doing so. The etch, lenny and sid Packages files are completely empty. Please remove the dists/{sarge,etch,lenny,sid} from the server until you actually have Debian packages.
  • Had a look at the git repo, not sure if I understand the code properly, but it seems to be duplicating the functionality of apt/dpkg & yum/rpm for firmware. Why not just use dpkg & rpm to install packages that contain firmware?
  • Thankyou
  • Matt, are you aware of Ubuntu's 0launch command? You can use it to download and run a script, but it will do some GPG key-downloading and checking for you.

    It's not perfect, since users may not know your key in the first place, but it's better than piping from wget to bash!

  • Error here when running the first command:

    ~$ sudo wget -q -O - http://linux.dell.com/repo/firmware/bootstrap.cgi | bash
    bash: line 221: /etc/apt/sources.list.d/dell-software-temp-bootstrap.list: Permission denied
    Downloading GPG key: http://linux.dell.com/repo/GPG-KEY-libsmbios
        Importing key.
    gpg: no writable keyring found: eof
    gpg: error reading `GPG-KEY': general error
    gpg: import from `GPG-KEY' failed: general error
    GPG-KEY import failed.
       Either there was a problem downloading the key,
       or you do not have sufficient permissions to import the key.


    Any suggestions?

  • @Tom - no, I hadn't heard of that, I'll have a look.  imbrandon showed me how the Adobe flashplayer-plugin is being handled, which might be useful, we're still discussing.

     @holotone: the bash script must be run with sudo privilages too, which in your command line it isn't.  It's easiest if you just:

    $ sudo bash

    and then run all the commands, or if you like, you can do the wget, write it to a file, and then start a 'sudo bash' in which you execute the other steps.  See above in the comments here for why you need everything from the bash step onward to be run as the root user.


  • Synaptic notification for available BIOS update won't clear even after successful upgrade. Ideas?
  • Thanks!  It installs well here on Ubuntu Hardy, but in order for it to get any use, the BIOS repositories need to stay updated!  I saw that there is an update for my D630 laptop that was released November 6, but it's not yet listed in the Linux repositories...
  • Kevin, it's supposed to update daily, but that cronjob isn't quite working smoothly.  I'll investigate further.

    imneat: yours is the second report of this, I haven't seen it myself yet.  Perhaps others have ideas?