Upgrading firmware: Difference between revisions

From OLPC
Jump to navigation Jump to search
(review and rework)
Line 1: Line 1:
{{OLPC}}{{users}}
{{OLPC}}{{users}}


== Overview ==
= XO-1.5 Instructions =
See the latest 1.5 instructions at [[Firmware]].


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.
= XO-1 Instructions =
== Overview of firmware upgrades ==


[[G1G1 2007|2007 Give One, Get One]] donors and other users: You can [[Upgrading the XO|upgrade to a newer stable release]], which includes an upgrade to the XO's [[firmware]] along with new system software.
Or, you may [[Upgrading the XO|upgrade to a newer stable release]], which includes an upgrade to the firmware.
The latest stable release is {{Latest_Releases/stable}}.
The latest stable release is:


{| border="1" cellspacing="0" cellpadding="2" width="100%" class="wikitable"
If you need to upgrade only your firmware, refer to the following instructions to upgrade to new signed (official release) versions of the firmware.
! version
These are distributed as <tt>.zip</tt> files.
! release date
|-
| {{Latest_Releases/stable}}.
|}


== Which Version? ==
Unofficial development versions of firmware are distributed as <tt>.rom</tt> files.
You need to get a [[developer key]] to upgrade to these and you follow a different upgrade process.
Refer to [[Manual Firmware Install]] for more details.


We recommend the latest version, unless you have a specific need for an older version.
== Steps to upgrade firmware ==


Some of the latest firmware versions are not available for secured laptops. The following table has download links to the latest signed firmware version:
:<big><font color="red">ALL steps must be followed<i> exactly</i>.</font></big>


{| border="1" cellspacing="0" cellpadding="2" width="100%" class="wikitable"
# Make sure your battery is charged.
! model
# Plug the XO into external power.
! version
#:If you lose power during a firmware upgrade you might ''brick'' the laptop, which prevents it from working at all.
! release date
=== Using a USB flash drive and another computer===
|-
# Locate the zip file of the firmware image that you want to install onto the XO. You can do this by browsing http://dev.laptop.org/pub/firmware. After selecting the version of the firmware that you want to upgrade to, the zip file you want is called bootfw.zip
| XO-1
#* For example, for Q2E41 you would want http://dev.laptop.org/pub/firmware/q2e41/bootfw.zip
| [http://dev.laptop.org/pub/firmware/q2e41/bootfw.zip Q2E41 bootfw.zip]
#* (for some versions there is no bootfw.zip file, choose a version that has one, or obtain the corresponding file from a signed operating system build)
| 2009-04-27
# Right click the link to the bootfw.zip file and select the "Save as" option
|}
# Create a folder called "boot" on the USB drive
# Copy the above .zip to the USB drive (do NOT unzip the file)
# Remove the USB drive
# Power off the XO, and ensure it is plugged in
# Insert the USB drive into the XO
# (Hold down the X game key button if the laptop is unsecured, or if you are not sure)
# Power on the XO
# Wait for the XO to reboot once automatically
# Wait for the XO to finish rebooting
# Remove the USB drive


We will refer back to these download links.
=== Using only your XO ===

# Connect to a wireless or wired network,
== Upgrading using a USB drive ==
# Open the [[Terminal activity]] [[Image:Activity-terminal.svg|35px]] or a [[console]],

# Type these commands, pressing the enter [[Image:Key enter.jpg|30px]] key after each line, and carefully noting the spaces:
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|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|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|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|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.

# connect to a wireless or wired network,
# open the [[Terminal activity]] [[Image:Activity-terminal.svg|35px]] or a [[console]],
# type these commands, pressing the enter [[Image:Key enter.jpg|30px]] key after each line, and carefully noting the spaces:
su -
su -
cd /versions/boot/current/boot/
mv bootfw.zip bootfw.zip.orig
wget http://dev.laptop.org/pub/firmware/q2e41/bootfw.zip
wget http://dev.laptop.org/pub/firmware/q2e41/bootfw.zip
cp /home/olpc/bootfw.zip /versions/boot/current/boot/
reboot
reboot
<ol><li value="4">(Hold down the X game key button if the laptop is unsecured, or if you are not sure)</li>
<ol><li value="4">(hold down the X game key button if the laptop is unsecured, or if you are not sure)</li>
<li>Wait for the XO to reboot twice automatically.</li></ol>
<li>wait for the XO to reboot twice automatically.</li></ol>


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

== 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.

Revision as of 05:54, 19 January 2011

  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.