Differences between revisions 4 and 5
Revision 4 as of 2008-06-10 10:38:09
Size: 2578
Editor: HectorOron
Comment: added more info
Revision 5 as of 2008-06-10 11:22:28
Size: 2699
Editor: HectorOron
Comment: added one todo task and fixe one typo
Deletions are marked like this. Additions are marked like this.
Line 52: Line 52:
On eisluft the building magic happens under ''/srv/emdebian_auto'' set by
{{{UP_ROOTFS="emdebian_auto" }}}
On eisluft the building magic happens under ''/srv/emdebian'' set by
{{{UP_ROOTFS="emdebian" }}}
Line 62: Line 62:
 * pa.sh should take tarball name as a parameter so it can update different tarballs (p.e., i386-rootfs.tgz and amd64-rootfs.tgz)

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

  • 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 [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 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