Firmware
This firmware goes in the little 1 MB SPI flash that's used for booting, not the 1GB NAND flash (or 512MB in earlier prototypes) used for the OS image and user data. The SPI flash contains the Embedded controller ("EC") firmware, Open Firmware, and 2k Manufacturing Data. See Firmware SPI FLASH Map or its dia source file.
Updating the firmware
Upgrading the XO to a new release usually updates both the firmware in the SPI flash and the operating system software in the NAND flash. Users should update to the latest stable release to get the latest stable versions of both.
Users can also upgrade only their XO's firmware to the latest official (signed) firmware, see Upgrading firmware
Developers who have an unsecured laptop or a developer key have more options.
- They can install any of the firmware releases below; click the firmware's name for instructions.
- They can alter the secure upgrade to use one of the firmware files below.
- There is also
- a manual update procedure for the SPI flash
- C source code for a self-hosted Linux flash writer (may destroy the manufacturing data)
- instructions for flashing via Open Firmware
- a recovery procedure that requires the use of a serial cable and external oscillator.
Note: Once you upgrade to the Q2Cxx series of firmware do not downgrade to Q2Bxx! Doing so will destroy the manufacturing data. Downgrading from Q2F01 to Q2C01 will "Brick" your XO-1 :-(
Firmware releases
The latest release is the first in the list:
XO-1.5
WARNING! XO-1.5 Firmware will NOT work on a XO-1.
- q3a07 - 2009-08-05 OLPC Firmware q3a07
- q3a05 - 2009-07-02 OLPC Firmware q3a05
- q3a04 - 2009-06-26 OLPC Firmware q3a04 First formal release for XO 1.5 A1 boards.
XO-1
- q2f01 - 2008-12-11 OLPC Firmware q2f01 First release of refactored EC code
- q2e41 - 2009-04-15 OLPC Firmware q2e41 Missing TS tag is not factory boot order.
- q2e40 - 2009-04-13 OLPC Firmware q2e40 Fixed Windows booting when USB keyboard attached.
- q2e39 - 2009-04-02 OLPC Firmware q2e39 Moved wired Ethernet to start of manufacturing mode boot order.
- q2e38 - 2009-04-01 OLPC Firmware q2e38 Added wired Ethernet to manufacturing mode boot order.
- q2e37 - 2009-03-31 OLPC Firmware q2e37 Boot order change in manufacturing mode.
- q2e36 - 2009-03-24 OLPC Firmware q2e36 Fixed problem with Windows full-screen text mode.
- q2e35 - 2009-03-23 OLPC Firmware q2e35 Successor for a keyjector; functionally identical to q2e34.
- q2e34 - 2009-03-10 OLPC Firmware q2e34 Quanta production bug fix.
- q2e33 - 2009-02-20 OLPC Firmware q2e33 This is a retest candidate for Windows qualification testing.
- q2e32 - 2009-02-12 OLPC Firmware q2e32 Low voltage batteries incorrectly marked as full fix.
- q2e31 - 2009-02-11 OLPC Firmware q2e31 Keyjector support and a few Windows fit-and-finish improvements
- q2e30 - 2009-01-29 OLPC Firmware q2e30 Multiple key support and non-secure pretty boot
- q2e29 - 2009-01-28 OLPC Firmware q2e29 First try at multiple key support
- q2e28 - 2009-01-23 OLPC Firmware q2e28 Qualification testing fourth try - standby works
- q2e27 - 2009-01-09 OLPC Firmware q2e27 Qualification testing third time is the charm
- q2e26 - 2009-01-05 OLPC Firmware q2e26 Qualification testing second try
- q2e25 - 2008-12-11 OLPC Firmware q2e25 For qualification testing
- q2e24 - 2008-12-11 OLPC Firmware q2e24 Candidate 2 for 8.2.1 - has NANDblaster
- q2e23 - 2008-12-11 OLPC Firmware q2e23 Candidate for 8.2.1 - has NANDblaster XXX withdrawn in favor of Q2E24 which fixes a few NANDblaster bugs
- q2e22 - 2008-11-06 OLPC Firmware q2e22 Possible manufacturing release for production with new touchpad
- q2e21 - 2008-10-31 OLPC Firmware q2e21 Maintenance release to manufacturing
- q2e20 - 2008-10-24 OLPC Firmware q2e20 Formal release of q2e19f which shipped on prebuild machines (works with B2 mechanics)
- q2e19 - 2008-10-03 OLPC Firmware q2e19 For prebuild with new keyboard controller
- q2e18 - 2008-09-17 OLPC Firmware q2e18 8.2.0 release version
- q2e17 - 2008-09-09 OLPC Firmware q2e17 8.2.0 test candidate 5 Don't use on B2 or B1 hardware
- q2e16 - 2008-09-09 OLPC Firmware q2e16 8.2.0 test candidate 4 Don't use on B2 or B1 hardware
- q2e15 - 2008-08-29 OLPC Firmware q2e15 8.2.0 test candidate 3 Don't use on B2 or B1 hardware
- q2e14 - 2008-08-22 OLPC Firmware q2e14 8.2.0 test candidate 2 Don't use on B2 or B1 hardware
- q2e13 - 2008-08-14 OLPC Firmware q2e13 8.2.0 test candidate 1 XXX withdrawn - Breaks mouse on older released builds 690 - 711 Don't use on B2 or B1 hardware
- q2e12 - 2008-07-29 OLPC Firmware q2e12 Like q2e11 but with minimal fix for <trac>7607</trac> Don't use on B2 or B1 hardware
- q2e11 - 2008-07-15 OLPC Firmware q2e11 8.1.2 test candidate (see OLPC SW-ECO 6) Don't use on B2 or B1 hardware
- q2e10 - 2008-07-03 OLPC Firmware q2e10 First test release of OFW2 Don't use on B2 or B1 hardware
- q2d16 - 2008-05-29 OLPC Firmware q2d16 Update.1 test candidate 8
- q2d14 - 2008-03-13 OLPC Firmware q2d14 Update.1 test candidate 7
- q2d13 - 2008-02-06 OLPC Firmware q2d13 Update.1 test candidate 6
- q2d12 - 2008-02-02 OLPC Firmware q2d12 Update.1 test candidate 5
- q2d11 - 2008-01-30 OLPC Firmware q2d11 Update.1 test candidate 4
- q2d10 - 2008-01-25 OLPC Firmware q2d10 Update.1 test candidate 3
- q2d09 - 2008-01-18 OLPC Firmware q2d09 Update.1 test candidate 2
- q2d08 - 2008-01-05 OLPC Firmware q2d08 Update.1 test candidate
- q2d07 - 2007-12-07 OLPC Firmware q2d07 Ship.2 yet another critical bug fix release
- q2d06 - 2007-12-04 OLPC Firmware q2d06 Ship.2 critical bug fix release XXX withdrawn - upgrade soon
- q2d05 - 2007-11-27 OLPC Firmware q2d05 Ship.2 2nd mass production release XXX withdrawn - upgrade soon
- q2d04 - 2007-11-08 OLPC Firmware q2d04 Ship.2 release with wireless update improvements
- q2d03 - 2007-10-29 OLPC Firmware q2d03 Final mass production release
- q2d02 - 2007-10-22 OLPC Firmware q2d02 Mass production release
- q2d01 - 2007-10-16 OLPC Firmware q2d01 First try at mass production release
- q2c28 - 2007-10-01 OLPC Firmware q2c28
- q2c27 - 2007-09-19 OLPC Firmware q2c27
- q2c26 - 2007-08-31 OLPC Firmware q2c26
- q2c25 - 2007-08-18 OLPC Firmware q2c25
- q2c24 - 2007-08-17 OLPC Firmware q2c24 XXX deprecated!!!
- q2c23 - 2007-08-10 OLPC Firmware q2c23
- q2c22 - 2007-08-02 OLPC Firmware q2c22
- q2c21 - 2007-08-02 OLPC Firmware q2c21
- q2c20 - 2007-07-30 Release for B4 build OLPC Firmware q2c20
- q2c18 - 2007-06-14 Release for B4 build OLPC Firmware q2c18
- q2c17 - 2007-06-07 Release for B4 build OLPC Firmware q2c17
- q2c16a - 2007-06-07 Minor variation on c16, for internal testing only OLPC Firmware q2c16a
- q2c16 - 2007-06-07 Release for B4 build OLPC Firmware q2c16
- q2c15 - 2007-06-06 withdrawn OLPC Firmware q2c15
- q2c14 - 2007-05-23 Update release for B3 build OLPC Firmware q2c14
- q2c13 - 2007-05-18 Release for B3 build OLPC Firmware q2c13
- q2c11 - 2007-05-06 Release for B3 build OLPC Firmware q2c11
- q2c09 - 2007-04-30 Release for B3 build OLPC Firmware q2c09
- q2c01 - 2007-04-06 Suspend/Resume Development release OLPC Firmware q2c01 (downgrading from q2f01 to q2c01= a "Bricked" XO-1 :-()
- Do not downgrade from C series to B series
- q2b87 - 2007-04-03 Update release for B2 build OLPC Firmware q2b87
- q2b86 - 2007-04-03 Update release for B2 build OLPC Firmware q2b86
- q2b85 - 2007-03-31 Update release for B2 build OLPC Firmware q2b85
- q2b84 - 2007-03-30 Update release for B2 build OLPC Firmware q2b84
- Q2B83 - 2007-03-28 Update release for B2 build OLPC Firmware Q2B83
- Q2B81 - 2007-03-18 Update release for B2 build OLPC Firmware Q2B81
- Q2B76 - 2007-03-09 Update release for B2 build OLPC Firmware Q2B76
- Q2B73 - 2007-02-16 Update release for B2 build OLPC Firmware Q2B73
- Q2B61 - 2007-02-02 Update release for B2-test build OLPC Firmware Q2B61 (last-minute EC changes)
- Q2A52 - 2006-11-12 OLPC Firmware Q2A52
- Q2B51 - 2007-01-26 Update release for B2-test build OLPC Firmware Q2B51
- Q2B43 - 2007-01-25 Update release for B2-test build OLPC Firmware Q2B43
- Q2B34 - 2007-01-24 OLPC Firmware Q2B34
- Q2B33 - 2007-01-23 OLPC Firmware Q2B33
- Q2B32 - 2007-01-23 OLPC Firmware Q2B32
- Q2B21 - 2007-01-14 Update release for B2-test build OLPC Firmware Q2B21
- Q2B20 - 2007-01-12 Update release for B2-test build OLPC Firmware Q2B20
- Q2B17 - 2007-01-05 Update release for B-test build OLPC Firmware Q2B17
- Q2B16 - 2007-01-03 OLPC Firmware Q2B16
- Q2B15 - 2007-01-02 OLPC Firmware Q2B15
- Q2B14 - 2006-12-30 OLPC Firmware Q2B14
- Q2B13 - 2006-12-29 Update release for B-test build OLPC Firmware Q2B13
- Q2B12 - 2006-12-29 Update release for B-test build OLPC Firmware Q2B12 (copy-nand fails)
- Q2B11 - 2006-12-25 Update release for B-test build OLPC Firmware Q2B11
- Q2A71 - 2006-12-21 Update release for B-test build OLPC Firmware Q2A71
- Q2A62 - 2006-12-11 Update release for B-test build OLPC Firmware Q2A62
- Q2A53 - 2006-12-01 Update release for B-test build OLPC Firmware Q2A53
- Q2A42 - 2006-11-12 Production release for B-test build OLPC Firmware Q2A42
- Q2A11 - 2006-10-17 "Unblocker" Interim Release OLPC Firmware Q2A11