Emdebian Toolchain Autobuilder

Emdebian Toolchain Autobuilder is in a very inmature stage, so be carefull.

[http://www.emdebian.org/repos/current/emdebian/trunk/paamboli/trunk/ paamboli] and [http://www.emdebian.org/repos/current/emdebian/trunk/buildcross/trunk/ buildcross] work together to provide a distributed building system for the cross toolchains that Emdebian provides.

Paamboli has a separated set of scripts named pernil, tomata, pa and oli. It keeps in mind distributed buildings relaying on secure keys, with the master and slave point of view.

Oli is the master script and it is meant to be run on the master system, and basically what it does is to send tomata to the slave system (which have been already configured with pa and a rootfs tarball) and tomata triggers pernil script which it is encharged to set up the build environment and produce the binaries, afterwards those get send to the master and included into the public repository.

Master configuration

ToDo

Slave configuration

You need to create a tarball with a rootfs.

Edit /etc/schroot/schroot.conf

[buildd-amd64]
type=file
description=Debian amd64 unstable
file=/srv/buildd-rootfs.tgz
groups=emdebian
root-groups=emdebian
run-setup-scripts=true
#run-exec-scripts=true

[buildd-i386]
type=file
description=Debian i386 unstable
file=/srv/i386-rootfs.tgz
groups=emdebian
root-groups=emdebian
run-setup-scripts=true
#run-exec-scripts=true

Note that i386-rootfs.tgz is a compressed rootfs for i386 and amd64-rootfs.tgz is a compressed rootfs for amd64 To generate the filesystem one can use debootstrap and then install all the required [http://www.emdebian.org/~zumbi/docs/packages.list software]. One also needs to set up a ssh-key to be able to do the transfers between master and slave servers.

Put pa.sh somewhere sensible, for example, on eisluft pa.sh is under /usr/local/bin/

Setup pa.sh as a cron task.

On eisluft the building magic happens under /srv/emdebian_auto set by UP_ROOTFS="emdebian_auto" 

and user zumbi has a cron job that updates the tarball every day.

00 19 * * *     /usr/local/bin/pa.sh

ToDo

Note


CategoryEmdebian