Upgrading the firmware: Difference between revisions

From OLPC
Jump to navigation Jump to search
(→‎Manual upgrade: finish previous)
(Fix for post-B2 and give it general modern love)
Line 5: Line 5:
The version of the firmware is displayed by OpenFirmware when the laptop boots and prior to loading the kernel. The version number is a series of 5 digits after the text
The version of the firmware is displayed by OpenFirmware when the laptop boots and prior to loading the kernel. The version number is a series of 5 digits after the text
<code>OpenFirmware CL1</code>
<code>OpenFirmware CL1</code>
An example would be 'Q2B74'. The last 3 digits of this string (B74) are the most important. The 'B' stands for the 2nd major revision and originally indicated the target board for the firmware ie. BTest. The 3rd major revision 'C' is looming in the near future. We try hard to keep backwards compability so later series of firmware (with a few exceptions) run on earlier boards. <br>
An example would be 'Q2B74'. The last 3 digits of this string (B74) are the most important. The 'B' stands for the 2nd major revision and originally indicated the target board for the firmware ie. BTest. The 4th major revision 'D' is being used for mass production laptops. We try hard to keep backwards compatibility so later series of firmware (with a few exceptions) run on earlier boards.
The 2 digits are the revision number of that firmware. Higher numbers equal more recent firmware versions.
The 2 digits are the revision number of that firmware. Higher numbers equal more recent firmware versions.
On B4 machines, the firmware version is not displayed on startup, but can be found using the command:
On B4 machines, the firmware version is not displayed on startup, but can be found using the command:
Line 13: Line 14:
<tt>[ 10.210194] OLPC board with OpenFirmware: CL1 Q2C18 Q2C</tt>
<tt>[ 10.210194] OLPC board with OpenFirmware: CL1 Q2C18 Q2C</tt>


== BTest Laptop Upgrades ==
== Laptop Upgrades ==
This is the procedure to upgrade B1 and B2 laptops. The ATest procedure is [[Upgrading_the_firmware#ATest|here]]
This is the procedure to upgrade any laptop other than ATest boards (which were just bare boards, without
a laptop around them). Check with a member of the OLPC firmware or hardware staff if you have an ATest board.


=== Via Auto Updater ===
=== Via Auto Updater ===
If your current firmware version is earlier than the firmware in the [[Autoreinstallation_image]] then you can just use that procedure for the update. Note: that this procedure will also upgrade the image in your nand flash, which contains the entire Linux operating system and all your user and system files. '''This means it will ERASE what is in your nand and re-write it.''' You will lose any data you have stored on the filesystem unless you '''first''' back it up. If you do not want your nand erased, then please do the manual upgrade (below) instead.
If your current firmware version is earlier than the firmware in the [[Autoreinstallation_image]] then you can just use that procedure for the update. Note: that this procedure will also upgrade the image in your nand flash, which contains the entire Linux operating system and all your user and system files. '''This means it will ERASE what is in your nand and re-write it.''' The auto-installation procedure backs up and restores certain directories, but doesn't save every modified file in the system. You may lose any data you have stored on the filesystem unless you '''first''' back it up. If you do not want your nand erased, then please do the manual upgrade (below) instead.


=== Manual upgrade ===
=== Manual upgrade ===
Line 24: Line 26:
* Upgrade steps
* Upgrade steps
# Download the latest firmware image from the [[Firmware]] page. See above for decoding the version numbers. You can also just pick the firmware released on the latest date.
# Download the latest firmware image from the [[Firmware]] page. See above for decoding the version numbers. You can also just pick the firmware released on the latest date.
# Copy this image to a USB disk, "key" or "stick". The filesystem can be ext2, ext3, or FAT. If you choose FAT, then you will need to rename the .rom file to adhere to FAT 8.3 filename conventions. OpenFirmware does not support long filenames on FAT.
# Copy this image to a USB disk, "key" or "stick". The filesystem can be ext2, ext3, or FAT. If you choose FAT, remember the 8.3 filename limit; use a name like q2d03.rom. OpenFirmware does not support long filenames on FAT.
# Insert this key into a laptop that is turned off.
# Insert this key into a laptop that is turned off.
# Plug the laptop into AC power, and make sure it has a good battery
# Plug the laptop into AC power, and make sure it has a good battery
Line 31: Line 33:
# You should now be at a prompt that says 'ok'
# You should now be at a prompt that says 'ok'
# At the 'ok' prompt type <code>flash u:\<path_to_rom> </code> where <code><path_to_rom></code> is the path to the firmware on your USB stick. An example would be <code>flash u:\q2c14.rom</code>. For arcane reasons, you need to use backslash (\) not forward-slash (/).
# At the 'ok' prompt type <code>flash u:\<path_to_rom> </code> where <code><path_to_rom></code> is the path to the firmware on your USB stick. An example would be <code>flash u:\q2c14.rom</code>. For arcane reasons, you need to use backslash (\) not forward-slash (/).
# When the upgrade is complete, the laptop will power off. You might want/need to remove the battery for a few seconds and then replace it and power it back up.
# When the upgrade is complete, the laptop will power off. You might want/need to unplug the power and remove the battery for a few seconds and then replace both and power it back up. This resets the Embedded Controller so it will use the new firmware.
# To upgrade your NAND image maunally from a USB stick, boot the XO into the 'ok' prompt as above.
# To upgrade your NAND (Linux) image manually from a USB stick, boot the XO into the 'ok' prompt as above.
# Type <code>copy-nand u:\<path_to_img> </code>. You must have both the .img and .crc. files for the nand image on the USB stick.
# Type <code>copy-nand u:\<path_to_img> </code>. You must have both the .img and .crc. files for the nand image on the USB stick.
# When complete, hold the power button down to shutdown; then power back up.
# When complete, hold the power button down to shut down; then power back up.


== ATest Upgrade ==

Check with a member of the OLPC firmware or hardware staff if you have an ATest board.


[[Category:Developers]]
[[Category:Developers]]

Revision as of 02:03, 31 October 2007

How you update the firmware depends on what method you can use and what board type you have.

Finding your current firmware version

The version of the firmware is displayed by OpenFirmware when the laptop boots and prior to loading the kernel. The version number is a series of 5 digits after the text OpenFirmware CL1 An example would be 'Q2B74'. The last 3 digits of this string (B74) are the most important. The 'B' stands for the 2nd major revision and originally indicated the target board for the firmware ie. BTest. The 4th major revision 'D' is being used for mass production laptops. We try hard to keep backwards compatibility so later series of firmware (with a few exceptions) run on earlier boards.

The 2 digits are the revision number of that firmware. Higher numbers equal more recent firmware versions. On B4 machines, the firmware version is not displayed on startup, but can be found using the command:

dmesg | more

on the terminal (Ctrl-Alt-F1 and login as root). This will show a line like:

[ 10.210194] OLPC board with OpenFirmware: CL1 Q2C18 Q2C

Laptop Upgrades

This is the procedure to upgrade any laptop other than ATest boards (which were just bare boards, without a laptop around them). Check with a member of the OLPC firmware or hardware staff if you have an ATest board.

Via Auto Updater

If your current firmware version is earlier than the firmware in the Autoreinstallation_image then you can just use that procedure for the update. Note: that this procedure will also upgrade the image in your nand flash, which contains the entire Linux operating system and all your user and system files. This means it will ERASE what is in your nand and re-write it. The auto-installation procedure backs up and restores certain directories, but doesn't save every modified file in the system. You may lose any data you have stored on the filesystem unless you first back it up. If you do not want your nand erased, then please do the manual upgrade (below) instead.

Manual upgrade

Before you manually upgrade your firmware you should first ensure that your battery is charged and that you have good AC power. If the firmware upgrade is interrupted by a power loss the result will most likely be a laptop that will not power up anymore (a "brick"). The only recovery method from a failed flash requires disassembling the laptop and using special equipment to reprogram the hardware.

  • Upgrade steps
  1. Download the latest firmware image from the Firmware page. See above for decoding the version numbers. You can also just pick the firmware released on the latest date.
  2. Copy this image to a USB disk, "key" or "stick". The filesystem can be ext2, ext3, or FAT. If you choose FAT, remember the 8.3 filename limit; use a name like q2d03.rom. OpenFirmware does not support long filenames on FAT.
  3. Insert this key into a laptop that is turned off.
  4. Plug the laptop into AC power, and make sure it has a good battery
  5. If you are running Q2C11 firmware through Q2C27, hold down one of the "X" game key (just above the power button) as you power on the laptop; this tells it to not immediately boot Linux. If you have earlier or later firmware, just turn on the laptop.
  6. When you see the prompt "Type the Esc key to interrupt automatic startup", press the upper left key on the keyboard (marked with an "X" in a circle). If you don't do it in time, hold down the power button for four seconds to power off, and try again.
  7. You should now be at a prompt that says 'ok'
  8. At the 'ok' prompt type flash u:\<path_to_rom> where <path_to_rom> is the path to the firmware on your USB stick. An example would be flash u:\q2c14.rom. For arcane reasons, you need to use backslash (\) not forward-slash (/).
  9. When the upgrade is complete, the laptop will power off. You might want/need to unplug the power and remove the battery for a few seconds and then replace both and power it back up. This resets the Embedded Controller so it will use the new firmware.
  10. To upgrade your NAND (Linux) image manually from a USB stick, boot the XO into the 'ok' prompt as above.
  11. Type copy-nand u:\<path_to_img> . You must have both the .img and .crc. files for the nand image on the USB stick.
  12. When complete, hold the power button down to shut down; then power back up.