Xo-Devbuilds

If you’ve visited the OLPC Wiki, you’ve probably noticed the box on the right hand side that shows the latest releases (stable and development builds). Although the current stable build listed is 650, there’s a newer one (653) that you might want to upgrade to. But if you want the latest, greatest, bleeding edge XO builds, you need to check out the “joyrides”. However, these can be extremely unstable, so be warned.

Before you upgrade, there are a few things to know:

  • You can have two versions of the operating system installed at any time. By default, you’ll boot into the one you installed most recently. So if you start out with build 650, then install build 653 and reboot, you’ll start up in build 653. If you hold down the O key (on the keypad to the right of the screen) as you boot, you’ll boot the alternate operating system (in this case, 650). (At this point, I believe that 650 becomes the default and 653 the alternate.)
  • At boot time, the XO laptop maps a pristine (see /versions/pristine) copy of the operating system into the running system’s filesystem. Any changes you make to the filesystem are in another location (see /versions/run), but it all looks like one filesystem to you. When you reboot into an alternate operating system, any changes you had previously made to it are revived.
  • When you use the olpc-update command to update to a new version of the operating system, the alternate operating system is wiped out (both the pristine version and any modifications to it)
  • Through all of this, your home directory (/home/olpc) is left unchanged.

Update: Todd Norris wrote in with some important information. Some models of the XO laptop shipped with a version of firmware that is susceptible to a significant bug: if the real-time clock battery is physically removed or otherwise runs out of power, the machine may no longer boot. Even if you don’t have an affected machine, this firmware update includes numerous bug fixes and is recommended for current models of XO laptops. For more information, including installation instructions, see the page for firmware version q2d07. However, this firmware will shortly be replaced by a newer release, so be sure to check the OLPC Wiki and look for the highlighted portion shown in the screenshot above. This will show you the newest version of firmware and operating system.

If you’re ready to install the upgrades, read on.

Getting ready to update

So, when you’re ready to upgrade, the first thing you need to do is unlock your OLPC so you can install developer builds (this may not be necessary for build 653, but I’m not certain). The first thing you need to do is request a developer key. It will take a day or two for your developer key to be ready. Go back to the same page you used to request the key, and you’ll see instructions for downloading the key. This puts the key on the filesystem where the OLPC firmware can find it. To really unlock the XO laptop, you can disable security permanently (you need to have your developer key to do this). This is a good idea if you plan to muck around with your XO a lot, since you might overwrite the developer key in your experiments.

Now you’re ready to upgrade the operating system. If you’re upgrading to a joyride build, you may occasionally get errors from olpc-update that tell you the build does not appear to exist. At the time of this writing, the OLPC team was pretty darn busy, and they were having intermittent trouble with the upgrade servers. The most foolproof way to upgrade is to download the os{build number}.usb and os{build number}.toc file to a USB drive and upgrade using that. I could not find *.usb and *.toc files for build 653, but the good news is that the stable builds are on servers that are more reliable than the developer servers.

Installing the upgrade

So when you’ve received your developer key and you’re ready to upgrade, here’s how to update to the latest stable and development versions of the operating system. First, upgrade to the latest stable version by opening a Terminal activity and running olpc-update as root:

$ su
# olpc-update 653

This will take a while to download and install. When it’s done, reboot your OLPC (you can either reboot from the home screen, or simply type “reboot” at the terminal prompt). Now you’ve got build 650 and build 653 on your machine, and you’ve booted into 653. You can install the latest joyride build (at the time of this writing, the most stable one I’ve found is joyride-1511, but that will change soon because the developers are hard at work on this). You first need to download the *usb and *toc files to a FAT-formatted USB memory card. For build 1511, you’d go to http://xs-dev.laptop.org/~cscott/olpc/streams/joyride/build1511/devel_jffs2/ and download os1511.usb and os1511.toc to the root of the memory stick (you can do this on a Mac, PC, or Linux system). But be sure to check the OLPC Wiki and look at the box to the right of the page to see if there are newer builds.

Next, eject the memory stick from your computer, and insert it into your XO laptop. Open the Terminal activity, and run olpc-update with the –usb argument:

$ su
# olpc-update --usb

When you’re done, reboot, and you’ll be running a developer build. Now you’ve got 653 and the developer build (in my case, 1511) running on your XO. And here’s the trick: if you go and update to a newer joyride build now, you’ll end up with two unstable builds. Instead, you should boot into build 653 (reboot, and hold down the O key on the keypad to the right of the screen), and then run olpc-update to install a new joyride build. That way, you always have one stable build and one unstable build on your XO laptop, and can flip between them by holding down the O button while you reboot!