Upgrading firmware

From OLPC
Revision as of 05:54, 19 January 2011 by Quozl (talk | contribs) (review and rework)
Jump to navigation Jump to search
  This page is monitored by the OLPC team.
  For the general public

Overview

This page describes how to upgrade only the firmware on a laptop. You should only need to do this if a problem in the firmware affects you.

Or, you may upgrade to a newer stable release, which includes an upgrade to the firmware. The latest stable release is:

version release date
13.2.11 2020-01-29.

Which Version?

We recommend the latest version, unless you have a specific need for an older version.

Some of the latest firmware versions are not available for secured laptops. The following table has download links to the latest signed firmware version:

model version release date
XO-1 Q2E41 bootfw.zip 2009-04-27

We will refer back to these download links.

Upgrading using a USB drive

You will need:

  • A USB drive (memory stick) of at least 16 MB capacity,
  • A computer other than the XO, which is connected to the Internet,
  • External power for the XO (a wall outlet and the XO AC adapter), and
  • 10 minutes.

There are two main steps explained below:

  • preparing the USB drive,
  • using the USB drive to upgrade the firmware.

Prepare USB drive

Using the computer that is connected to the internet, prepare the USB drive using the instructions below. There is a subsection for each popular operating system. Choose one.

Microsoft Windows

  • insert the USB drive,
  • create a folder boot on the USB drive,
  • download the bootfw.zip file to the boot folder on the USB drive,
  • eject the USB drive, and
  • go to the Upgrade section on this page.

Mac OS X

  • insert the USB drive,
  • switch tasks to Finder, display the USB drive, notice the name of the USB drive,
  • create a folder boot on the USB drive,
  • control-click on the bootfw.zip download link above, select Download Linked File As ..., and a Save As dialog will appear,
  • change Where to the name of the USB drive, usually Untitled, then click on the boot folder, then click on Save, the dialog will go away,
  • switch tasks to Finder, display the USB drive,
  • eject the USB drive, and
  • go to the Upgrade section on this page.

Linux - GNOME and Firefox

  • insert the USB drive,
  • create a boot folder on the USB drive,
  • click on the bootfw.zip download link above, and a dialog window will appear asking you what you want done with the download,
  • save the download to the USB drive in the boot folder,
  • close the Downloads window,
  • eject the USB drive, and
  • go to the Upgrade section on this page.

Linux - Terminal

cd /media/DRIVE
mkdir boot
cd boot
wget http://dev.laptop.org/pub/firmware/q2e41/bootfw.zip
umount /media/DRIVE
  • go to the Upgrade section just below

Upgrade

Once you have prepared the USB drive above, you must:

  • make sure the XO battery is in place and locked,
  • make sure the XO power cord and adapter are plugged in, the battery indicator must be on,
  • insert the USB drive into the XO,
  • hold down the X game key, and
  • turn on the XO.

Do not interfere at this point, but watch. The upgrade process will begin, with several messages displayed, then the XO will automatically restart, once or twice. Wait for the XO to finish restarting, then:

  • remove the USB drive.

You should test that the XO now works normally.

Using only your XO

How to upgrade firmware using only an XO and a network connection.

  1. connect to a wireless or wired network,
  2. open the Terminal activity Activity-terminal.svg or a console,
  3. type these commands, pressing the enter Key enter.jpg key after each line, and carefully noting the spaces:
su -
cd /versions/boot/current/boot/
mv bootfw.zip bootfw.zip.orig
wget http://dev.laptop.org/pub/firmware/q2e41/bootfw.zip
reboot
  1. (hold down the X game key button if the laptop is unsecured, or if you are not sure)
  2. wait for the XO to reboot twice automatically.

The XO will only upgrade the firmware if it finds the installed version is earlier than what is in bootfw.zip.

Troubleshooting

If a USB drive seems to be ignored by the XO:

  • try again with the X game key held down when you turn on the XO, (only affects XOs with developer key installed or security disabled),
  • check that the USB drive meets these conditions:
    • it has a boot folder,
    • there is a file bootfw.zip in the boot folder, and
    • the partition type of the USB drive is "DOS MBR" rather than "GPT".
  • if you are not sure about the partition type, and all else fails, try using a different USB drive, or
  • check the firmware version; the USB drive will be ignored if the firmware version on the XO is equal to or later than what is on the USB drive.

How it Works

The firmware on the XO runs when the power is turned on. It plays a startup sound. If the laptop is secured, or if the X game key is held down, it looks for boot/bootfw.zip on all available storage devices; internal storage, SD card, and USB drives. If a bootfw.zip is found, the firmware checks to see if the cryptographic signature of the file matches the OLPC keys, and if the version is later than itself. If both checks pass, the firmware checks for external power and a reasonably charged battery. If these are present, then the firmware updates itself from the file, writing to the internal SPI flash chip. Then it reboots, thus running the new firmware version.