Pilgrim: Difference between revisions

From OLPC
Jump to navigation Jump to search
(Link to other related information.)
mNo edit summary
Line 1: Line 1:
{{Software}}
{{Software}}

Pilgrim is a disk-image compiler. This means that it produces flashable disk images for OLPC XOs from a collection of RPMs and dirty tricks. It is run by OLPC on servers like xs-dev.l.o and pilgrim.l.o.


More information on pilgrim is at [[Building custom images]].
More information on pilgrim is at [[Building custom images]].

=== Pilgrim ===

Please add text to answer the following questions:
* what is Pilgrim?
* is it already on XO laptops or do you need to install it?
* What problem does it solve?
* Who is expected to use it?
* What are the typical use cases for Pilgrim?


==== Details ====
==== Details ====
Line 26: Line 19:


The other branches - joyride, meshtest, xtest, and rainbow store branch-specific data like which yum repositories to compose into the image, which packages to pull, which activities to include, and so on.
The other branches - joyride, meshtest, xtest, and rainbow store branch-specific data like which yum repositories to compose into the image, which packages to pull, which activities to include, and so on.



These data are mostly recorded in
These data are mostly recorded in

Revision as of 04:24, 22 August 2008


Pilgrim is a disk-image compiler. This means that it produces flashable disk images for OLPC XOs from a collection of RPMs and dirty tricks. It is run by OLPC on servers like xs-dev.l.o and pilgrim.l.o.

More information on pilgrim is at Building custom images.

Details

Source code

Pilgrim is composed of two large and two small scripts and many configuration files.

 pilgrim              # user-interface
 pilgrim-autobuild    # implementation
 build-one            # build the current branch
 make-repos           # touch up yum repositories

The most important branch is "autobuild". This is where changes deemed suitable for all build branches should be merged. See Pilgrim Commit Policy.

The other branches - joyride, meshtest, xtest, and rainbow store branch-specific data like which yum repositories to compose into the image, which packages to pull, which activities to include, and so on.

These data are mostly recorded in

 streams.d/olpc-branch.conf                    # a few important config variables
 streams.d/olpc-development-yum-install.conf   # yum repositories to compose, package exclusions
 streams.d/olpc-development.stream             # lists of packages and activities to install

Questions:

  • How do you enumerate the available branches? I.e. if you don't want to rely on the documentation being kept up to date...
  • Where can one find the streams.d directory?