OS Builder/Run under mock

From OLPC
Jump to: navigation, search

olpc-os-builder must be run under the same Fedora version as the target release to achieve a reliable result.

It may be possible to use mock to install a "Fedora chroot" of a specific version, but it is not recommended. This is because sometimes we rely on kernel features only introduced in that Fedora version, but by running in a chroot you will potentially be running an unsatisfactory kernel. Also, it is not very clean.

If you do want to do this anyway, here is a quick recipe:

First, create a mock config in /etc/mock relating to the Fedora version that you wish to modify. You might want to base this on (e.g.) fedora-18-i386.cfg. Assuming you called this f18-osbuilder:

Create the chroot and install os-builder (release version) and its build dependencies

# mock -r f18-osbuilder --init
# mock -r f18-osbuilder --install olpc-os-builder git zlib-devel libtomcrypt-devel

Now enter the chroot and mount the "real" /dev:

# mock -r f18-osbuilder --shell
# mount -t devtmpfs none /dev

At this point you could run the installed release version, or if you want to use the development version, you would do something like this:

# git clone git://dev.laptop.org/projects/olpc-os-builder
# cd olpc-os-builder
# make -C bin

Now you are ready to build.