Upgrading firmware: Difference between revisions

From OLPC
Jump to navigation Jump to search
(q7c07 13.2.9 signed release)
 
(49 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{OLPC}}{{users}}
{{OLPC}}{{users}}


How to upgrade only the [[firmware]] on an XO laptop.
== Overview ==
__TOC__


== Automatic ==
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.
To upgrade your firmware automatically, please [[Upgrading the XO|upgrade the operating system]].


However, some older firmware may need to be upgraded manually.
Or, you may [[Upgrading the XO|upgrade to a newer stable release]], which includes an upgrade to the firmware.
You should only need to do this if a problem in the firmware affects you.
The latest stable release is:


== Manual ==
{| border="1" cellspacing="0" cellpadding="2" width="100%" class="wikitable"
! version
! release date
|-
| {{Latest_Releases/stable}}
|}


== Which Version? ==
=== Ingredients ===


*a [[USB drive]] with at least 4 MB free space,
We recommend the latest version, unless you have a specific need for an older version.
*an internet connection,
*a charged battery in the XO laptop,
*external power for the XO laptop,
*about ten minutes.


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


* create a new folder named {{Code|boot}} on your USB drive,
{| border="1" cellspacing="0" cellpadding="2" width="100%" class="wikitable"
* in the table below, select your XO laptop model and [[download]] the corresponding {{Code|bootfw.zip}} file; these are the latest signed firmware files from OLPC OS 13.2.5-17:
<!--
for the 13.2.5 release these were obtained with a shell script
crank:~quozl/open-firmware-signed-release-for-wiki.sh
which also generates the table rows
-->
<center>
{| border="1" cellspacing="0" cellpadding="2" class="wikitable"
! model
! model
! version
! version
! download
! release date
|-
|-
| XO-1
| XO-1
| q2f20
| [http://dev.laptop.org/pub/firmware/q2e41/bootfw.zip Q2E41 bootfw.zip]
| [http://dev.laptop.org/pub/firmware/q2f20/bootfw.zip bootfw.zip]
| 2009-04-27
|-
|-
| XO-1.5
| XO-1.5
| q3c17
| [http://dev.laptop.org/pub/firmware/q3a62/bootfw.zip Q3A62 bootfw.zip]
| [http://dev.laptop.org/pub/firmware/q3c17/bootfw.zip bootfw.zip]
| 2010-12-17
|-
| XO-1.75
| q4d38
| [http://dev.laptop.org/pub/firmware/q4d38/bootfw.zip bootfw.zip]
|-
| XO-4
| q7c07
| [http://dev.laptop.org/pub/firmware/q7c07/bootfw.zip bootfw.zip]
|}
|}
</center>
* save the file to your USB drive in the folder named {{Code|boot}}, (do not expand the file, it must remain as {{Code|bootfw.zip}}),
* safely remove the USB drive,
* shutdown and turn off your XO laptop,
* make sure the battery is in place and locked,
* make sure the power cord and adapter are plugged in, the battery indicator must be on,
* insert the USB drive into the XO laptop,
* hold down the {{Code|X}} game key while pressing and releasing the power button,
* wait for the message asking you to release the game keys, and then release the {{Code|X}} game key,
* wait for update messages to be displayed,
* wait for the XO laptop to reboot.


=== Troubleshooting ===
We will refer back to these download links.


== Upgrading using a USB drive ==
If a USB drive is ignored by the XO:


* check that the USB drive has a folder named {{Code|boot}},
You will need:
* check that the {{Code|boot}} folder has a file {{Code|bootfw.zip}},
* A [[USB drive]] (memory stick) of at least 16 MB capacity,
* check that the USB drive has a partition table type of "DOS MBR" rather than "GPT", see also [[Firmware/Storage/Formats|supported combinations]],
* A computer other than the XO, which is connected to the Internet,
* try a different USB drive,
* External power for the XO (a wall outlet and the XO AC adapter), and
* try a different USB port,
* 10 minutes.
* check that the firmware actually needs upgrading; the USB drive will seem to be ignored if the version on the drive is equal to or earlier than the version on the laptop.


If the XO is faulty, firmware upgrade may not begin:
There are two main steps explained below:
* if the display does not light up, or the XO icon does not appear, see [[fix clock]] for upgrading firmware using a [[serial adapter]].
* preparing the USB drive,
* using the USB drive to upgrade the firmware.


=== Prepare 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.
Using the computer that is connected to the internet, download the ''bootfw.zip'' file and put it in a ''boot'' folder of the USB drive.


== Developers ==
Never done that before or want to check your steps? We have detailed steps below for each popular operating system. Choose one.


If your laptop is locked, and you cannot [[collection stick|unlock it]], you must use the ''signed'' firmware method [[#Manual|above]]. If your laptop is unlocked, see [[Firmware]] for upgrade instructions.
==== 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 ====

* enter these commands, substituting DRIVE for the directory where the USB drive is mounted, and LINK for the download link above:
cd /media/DRIVE
mkdir boot
cd boot
wget LINK
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, changing VERSION to the latest for the laptop model, and carefully noting the spaces:
su -
cd /versions/boot/current/boot/
mv bootfw.zip bootfw.zip.orig
wget http://dev.laptop.org/pub/firmware/VERSION/bootfw.zip
reboot
<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>

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.

Latest revision as of 08:33, 20 December 2017

  This page is monitored by the OLPC team.
  For the general public

How to upgrade only the firmware on an XO laptop.

Automatic

To upgrade your firmware automatically, please upgrade the operating system.

However, some older firmware may need to be upgraded manually. You should only need to do this if a problem in the firmware affects you.

Manual

Ingredients

  • a USB drive with at least 4 MB free space,
  • an internet connection,
  • a charged battery in the XO laptop,
  • external power for the XO laptop,
  • about ten minutes.

Recipe

  • create a new folder named boot on your USB drive,
  • in the table below, select your XO laptop model and download the corresponding bootfw.zip file; these are the latest signed firmware files from OLPC OS 13.2.5-17:
model version download
XO-1 q2f20 bootfw.zip
XO-1.5 q3c17 bootfw.zip
XO-1.75 q4d38 bootfw.zip
XO-4 q7c07 bootfw.zip
  • save the file to your USB drive in the folder named boot, (do not expand the file, it must remain as bootfw.zip),
  • safely remove the USB drive,
  • shutdown and turn off your XO laptop,
  • make sure the battery is in place and locked,
  • make sure the power cord and adapter are plugged in, the battery indicator must be on,
  • insert the USB drive into the XO laptop,
  • hold down the X game key while pressing and releasing the power button,
  • wait for the message asking you to release the game keys, and then release the X game key,
  • wait for update messages to be displayed,
  • wait for the XO laptop to reboot.

Troubleshooting

If a USB drive is ignored by the XO:

  • check that the USB drive has a folder named boot,
  • check that the boot folder has a file bootfw.zip,
  • check that the USB drive has a partition table type of "DOS MBR" rather than "GPT", see also supported combinations,
  • try a different USB drive,
  • try a different USB port,
  • check that the firmware actually needs upgrading; the USB drive will seem to be ignored if the version on the drive is equal to or earlier than the version on the laptop.

If the XO is faulty, firmware upgrade may not begin:

  • if the display does not light up, or the XO icon does not appear, see fix clock for upgrading firmware using a serial adapter.

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.

Developers

If your laptop is locked, and you cannot unlock it, you must use the signed firmware method above. If your laptop is unlocked, see Firmware for upgrade instructions.