Upgrading the firmware

From OLPC
Revision as of 17:56, 14 October 2007 by MitchellNCharity (talk | contribs) (→‎Manual upgrade: finish previous)
Jump to navigation Jump to search

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

BTest Laptop Upgrades

This is the procedure to upgrade B1 and B2 laptops. The ATest procedure is here

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.

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, 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.
  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 remove the battery for a few seconds and then replace it and power it back up.
  10. To upgrade your NAND image maunally 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 shutdown; then power back up.

ATest Upgrade

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