Requirements ------------ In this example we use Centos6, but of course this should work with all Linux distributions recent enough to run on the kernel of the host. Your distribution needs a running 'rpm', so on ArchLinux this can be achieved by installing 'rpm-org'. You also need a running 'yum' which on ArchLinux you can build from the AUR. Running ------- This example runs a single-node biruda installing a Centos 6 image in a chrooted environment. Start the node with (as root, because we have to be able to 'chroot'): biruda -f -c biruda.conf In another shell start the interactive cli: shell> biruda -i -c biruda.conf biruda> status coordinator eeepc cpe:/o:arch:arch:rolling x86_64 1 alive 1428133209 (0) worker example_build_centos6 stopped direct /bin/sh ./build_centos6.sh x86_64 (0) worker example_uname_centos6 stopped direct /bin/chroot rhel6-x64 /bin/bash -c '/bin/cat /etc/redhat-release' (1) We see one coordinator running on ArchLinux ('cpe:/o:arch:arch:rolling') and two workers: 'example_build_gold' builds the image, 'example_uname_centos6' runs a command in the chrooted Centos. We start the first worker by calling: biruda> start worker> example_build_centos6 Request queued The 'messages' command shows us the output of the worker: biruda> messages output example_build_centos6: 1428133254 example_build_centos6 --- STARTED 19698 --- 1428133255 example_build_centos6 stderr --2015-04-04 09:40:55-- http://mirror.centos.org/centos/6.6/os/x86_64/Packages/centos-release-6-6.el6.centos.12.2.x86_64.rpm 1428133255 example_build_centos6 stderr Resolving mirror.centos.org (mirror.centos.org)... 95.211.98.141 .. The daemon spools the output of a worker in a file 'example_build_centos6.output', you can also have a look at that: shell> tail -f example_build_centos6.output The worker is now running: biruda> status coordinator eeepc cpe:/o:arch:arch:rolling x86_64 1 alive 1428134192 (0) worker example_build_centos6 running direct /bin/sh ./build_centos6.sh x86_64 (0) worker example_uname_centos6 stopped direct /bin/chroot rhel6-x64 /bin/bash -c '/bin/cat /etc/redhat-release' (1) We get the chrooted environment installed in the directory running the biruda node in 'rhel6-x64': shell> ls rhel6-x64 bin boot dev etc home lib media mnt opt proc root sbin selinux srv sys tmp usr var When the installation has finished we can run the other worker which just makes a cat of the Redhat version file '/etc/redhat-release': biruda> start worker> example_uname_centos6 Request queued biruda> messages output example_uname_centos6: 1428146958 example_uname_centos6 --- STARTED 12858 --- 1428146958 example_uname_centos6 stdout CentOS release 6.6 (Final) 1428146958 example_uname_centos6 --- STOPPED 12858 (0, )--- Each outputline has a timestamp, the name of the worker executed, whether the output went to stdout or stderr and the actual message. The STARTED and STOPPED messages also contain the PID of the spawned child process and the exit code and message in case ot termination.