OLPC Firmware q2c26

From OLPC
Jump to: navigation, search

OLPC Firmware Release q2c26 - 2007-08-31

This firmware is a development release, primarily for the purpose of testing secure booting, but it also fixes some bugs. It has been tested on B1, B2-1, preB3, B3, and B4 systems. Do not use it on pre-B1 boards - it will brick them because of the EC microcode. It does not work on Atest because support for Atest has been eliminated from the EC microcode.


Download: q2c26


How to get the ok prompt

Power & Game buttons

Press the "X" (down) game key after hitting the power button to enable the ok prompt. You still have to press the ESC key (upper left on the keyboard Key esc.jpg) during the countdown. If you don't press the "X" game key, the firmware goes into fastboot mode, in which:

  • The keyboard is not probed, thus saving some time
  • The boot order is USB, SD, NAND, wireless
  • OFW does not put any text on the screen, just graphics

Changes since OLPC Firmware q2c25

Open Firmware is r597

  • New commands: "set-wp" changes the "ww" mfg data tag to "wp", "clear-wp" changes it back to "ww".
  • Secure boot implemented - use "secure-boot" to do the secure boot dance, and "boot" to boot the old way. Auto-boot uses secure booting if "wp" is set, otherwise it uses the old way. Secure booting won't work if the system has no mfg data, or if the real-time clock isn't set properly. See http://wiki.laptop.org/go/Firmware_Security
  • There is also a predicate for testing for the presence of a developer key: developer? ( -- flag ) - returns true if a valid developer key for this machine is found on a USB disk, SD, or NAND. This isn't hooked into any other mechanisms yet, but can be used for checking the generation of developer keys.
  • Fixed bug in "test /audio" - it was leaving the microphone LED turned on
  • The copy-nand command now checks for bad blocks by reading back and verifying the data that it wrote. If new bad blocks are discovered, they are added to the bad block table at the end of NAND FLASH.
  • New nandflash test mode - "test /nandflash::fixbbt" will perform a multi-data-pattern test on every "good" NAND block, and any blocks that fail will be added to the bad block table.
  • Fixed an annoying but non-fatal bug that caused error messages to be garbled sometimes.
  • Fixed a bug in FAT partition handling. A recent "improvement" in the handling of ambiguous disk layouts with both a BPB and a partition table in the first sector wasn't quite right. It caused unpartitioned disks with extended BPBs to fail.
  • Retry EC commands after a timeout, thus eliminating aborts due to the EC missing a command.


EC code is PQ2C24

<same as previous release>

Installation Instructions

  • If you have a B1-B4 system:
    • Detailed upgrade instructions are located here.
    • If your firmware version is earlier than the version in Auto Install 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 is the entire Linux operating system and all the files you may have edited or saved. This means it will ERASE what is in your nand and re-write it. So you will lose any data you have stored on the filesystem unless you back it up. If you do not want your files erased, then please use the first procedure above.
    • Do NOT use olpcflash to write new firmware images. Doing so will erase the manufacturing data that was added at the factory.
    • After you reflash, you must power cycle by physically removing power from the system. A warm-start or button-induced restart is not sufficient. Please remove both the battery pack and wall adapter for 10 seconds.
  • If you have an ATest system
    • Don't use this firmware. ATest support has been removed.