optional; insert an SD card, and use gparted (Applications -> System Tools -> GParted Partition Editor) to delete the manufacturer's partition and add a linux-swap partition, then add it to the filesystem table:

optional, for initial testing, not final release; customise your build to make it build faster, by editing examples/olpc-os-13.2.1-xo4.ini

in the [base] module, set versioned_fs=0 and make_tree_tarball=0, (this disables the use of olpc-update),

remove the [usb_update] module, (this disables the use of olpc-update with USB drives),

reduce the [global] langs= to the languages you need,

Note that these configuration changes disable some functionality which you might need later. So you should only make these changes permanently if you understand what these options do, and you know that you do not need the relevant functionality.

Your setup is ready, you can now make the first build:

./osbuilder.py examples/olpc-os-13.2.1-xo4.ini

The first build will take much longer than subsequent builds, because it will download RPMs and activities to disk. Subsequent builds will still download some package lists, but not as much as the first build.

After the build, the directory /oob/olpc-os-builder/build/output should have the files that can be used to install the build on another system.

Experiences

On XO-1.5, XO-1.75 and XO-4 with a typical USB hard drive, the build takes between half an hour and an hour on subsequent runs. See experiences for further detail.

Decommissioning

When the builder is no longer required, shut it down, remove the SD card and repartition it, remove the USB drive and repartition it, and then reinstall OLPC OS on the system.

Notes

↑ use an XO-1.5 to make XO-1 or XO-1.5 builds, and use an XO-1.75 or XO-4 to make XO-1.75 or XO-4 builds. An XO-1 with 13.2.0 cannot be used because there is not enough internal storage space to install the packages described here.

↑ we have tested without swap on XO-1.5, XO-1.75 and XO-4, each of which have at least 1GB of RAM.

↑ the builder must be able to download files from repositories, and filtering may prevent file downloads, in particular one user reported RPMs starting with the name tracker were blocked.

↑ using a USB ethernet adapter instead of a wireless network can make builds go a bit faster, because network packets are not lost. On an XO-4 with the 8787 combined wireless and bluetooth module, a USB ethernet adapter is essential until ticket #12694 is fixed.

↑ automatic power management should be disabled because it interferes with the builder; the USB hard drive may not be remounted after a suspend and resume.

↑ the change to macros.imgcreate is needed so that the example files in olpc-os-builder are kept, which are classified as documentation for the olpc-os-builder package, and are deleted by default on OLPC OS.

↑ we need to install many packages to use the system as a builder, because by design OLPC OS does not have these packages already installed.

↑ the v7.0 branch of olpc-os-builder is what was used to create 13.2.1.