Upgrading firmware: Difference between revisions

From OLPC
Jump to navigation Jump to search
(removed section that has nothing to do with firmware update)
(q7c07 13.2.9 signed release)
 
(60 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.
= XO-1.5 Instructions =
__TOC__
See the latest 1.5 instructions at [[Firmware]].


== Automatic ==
= XO-1 Instructions =
To upgrade your firmware automatically, please [[Upgrading the XO|upgrade the operating system]].
== Overview of firmware upgrades ==


However, some older firmware may need to be upgraded manually.
[[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.
You should only need to do this if a problem in the firmware affects you.
The latest stable release is {{Latest_Releases/stable}}.


== Manual ==
If you need to upgrade only your firmware, refer to the following instructions to upgrade to new signed (official release) versions of the firmware.
These are distributed as <tt>.zip</tt> files.


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


*a [[USB drive]] with at least 4 MB free space,
== Steps to upgrade firmware ==
*an internet connection,
*a charged battery in the XO laptop,
*external power for the XO laptop,
*about ten minutes.


=== Recipe ===
:<big><font color="red">ALL steps must be followed<i> exactly</i>.</font></big>


* create a new folder named {{Code|boot}} on your USB drive,
# Make sure your battery is charged.
* 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:
# Plug the XO into external power.
<!--
#:If you lose power during a firmware upgrade you will brick the laptop.
for the 13.2.5 release these were obtained with a shell script
=== Using a USB flash drive and another computer===
crank:~quozl/open-firmware-signed-release-for-wiki.sh
# Locate the zip file of the firmware image that you want to flash onto the laptop. You can do this by browsing the directory listing at 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
which also generates the table rows
#* For example, for Q2E41 you would want http://dev.laptop.org/pub/firmware/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)
<center>
# Right click the link to the bootfw.zip file and select the "Save as" option
{| border="1" cellspacing="0" cellpadding="2" class="wikitable"
# Create a folder called "boot" on the flash drive
! model
# Copy the above .zip to the flash drive (do NOT unzip the file)
! version
# Remove the flash drive
! download
# Power off the XO, and ensure it is plugged in
|-
# Insert the flash drive
| XO-1
# Power on the XO
| q2f20
# It should indicate that it is rewriting the firmware
| [http://dev.laptop.org/pub/firmware/q2f20/bootfw.zip bootfw.zip]
|-
| XO-1.5
| q3c17
| [http://dev.laptop.org/pub/firmware/q3c17/bootfw.zip bootfw.zip]
|-
| 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.


=== Using only your XO ===
=== Troubleshooting ===
# Open the [[Terminal activity]] [[Image:Activity-terminal.svg|35px]] or a [[console]]
# Type the following (press the Enter key after each line):
su -
wget http://dev.laptop.org/pub/firmware/q2d14/bootfw.zip
cp /home/olpc/bootfw.zip /versions/boot/current/boot/
reboot
<ol><li value="3"> The laptop will then reboot twice more on its own. (Once to enable writing to the flash and then a 2nd time after its done updating.)</li></ol>


If a USB drive is ignored by the XO:
The XO will only upgrade the system firmware if it finds that its current version is earlier than what is in <tt>bootfw.zip</tt>

* check that the USB drive has a folder named {{Code|boot}},
* check that the {{Code|boot}} folder has a file {{Code|bootfw.zip}},
* check that the USB drive has a partition table type of "DOS MBR" rather than "GPT", see also [[Firmware/Storage/Formats|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 [[collection stick|unlock it]], you must use the ''signed'' firmware method [[#Manual|above]]. If your laptop is unlocked, see [[Firmware]] for upgrade instructions.

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.