Differences between revisions 5 and 6
Revision 5 as of 2008-06-10 11:22:28
Size: 2699
Editor: HectorOron
Comment: added one todo task and fixe one typo
Revision 6 as of 2009-03-16 03:30:33
Size: 2705
Editor: anonymous
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
[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.
[[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.
Line 46: Line 46:
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. 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.

Emdebian Toolchain Autobuilder

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

paamboli and 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

  • Configure pernil.sh variables to set up the architectures and packages that you wanna-build :-)

  • Configure oli.sh to setup the hosts you want to use

  • Then run oli.sh

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 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 set by UP_ROOTFS="emdebian" 

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

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

ToDo

  • pa.sh should take tarball name as a parameter so it can update different tarballs (p.e., i386-rootfs.tgz and amd64-rootfs.tgz)

Note

  • paamboli is designed to be used with buildcross


CategoryEmdebian