Olpc-update

From OLPC
Revision as of 04:39, 28 September 2007 by RafaelOrtiz (talk | contribs)
Jump to: navigation, search

Wiki page name set so that someone else will figure out an appropriate name.

This method of updating from one OS build to another is experimental. It works by transferring only the differences across the internet link from an updates server.

As an example of the data efficiency gain,

  • an autoreinstallation from OS build 602 to 603 would normally take about 279Mb of download data, whereas olpc-update takes 16Mb of download data,
  • an autoreinstallation from OS build 603 to 608 would normally take 262Mb of download data, whereas olpc-update takes 6.5Mb of download data,

The time efficiency gain is less easy to characterise. It depends on the speed of the internet link, and whether the autoreinstallation image needs to be downloaded. An olpc-update from 602 to 603 cost under 17 minutes.

The current updates server is updates.laptop.org.


Usage:

  • Ensure the laptop is able to access the internet,
  • Be root at a command prompt,
  • Type olpc-update NNN where NNN is the build number.

Q: What update targets are available?

# rsync rsync://updates.laptop.org | sort

Q: What is the latest version of the updater?

A: for build 602 and 603, a later development version of the updater is at:

# wget http://dev.laptop.org/~mstone/olpccontents-latest.rpm
# wget http://dev.laptop.org/~mstone/rainbow-latest.rpm
# rpm --upgrade --force olpccontents-latest.rpm rainbow-latest.rpm

Q: How can I re-use the bits for multiple laptops?

A: This feature is not yet available, but in the meanwhile you can make your own updates server based on the updates available. You will need to change the olpc-update script. For ideas:

# rsync FLAGS rsync://updates.laptop.org/build-NNN/manifest
# rsync FLAGS rsync://udpates.laptop.org/build-NNN/root/

Q: Where is the source?

A: The source repo is http://dev.laptop.org/git/users/mstone/security

The branch you want is currently called updater, though this will likely change in the future. There are five important files in the repository. They are:

rainbow/sbin/olpc-update
rainbow/sbin/olpc-update-rsync
rainbow/rainbow/update.py
rainbow/rainbow/launch/targets/update.py
rainbow/rainbow/launch/stages/update.py

See also