[pkg-fso-maint] qemubuilder + distcc

Timo Juhani Lindfors timo.lindfors at iki.fi
Thu Oct 16 10:51:28 UTC 2008


Luca Capello <luca at pca.it> writes:
> I cannot speak here, since I've never tried distcc before, not even
> without qemubuilder.

I wrote detailed usage instructions to

http://lindi.iki.fi/lindi/openmoko/qemu-distcc.txt

1) ssh to a PC with debian unstable. You can easily install it to a
   chroot with http://iki.fi/lindi/schroot.txt if you don't want to
   break your normal installation.
1.2) sudo aptitude install emdebian-tools distcc
1.3) sudo emsetup --arch armel
1.4) verify that arm-linux-gnueabi-gcc works:

$ cat > hello.c <<EOF
#include <stdio.h>
int main(void) {
printf("Hello world\n");
return 0;
}
EOF
$ arm-linux-gnueabi-gcc -o hello hello.c
$ file hello
hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped

1.5) configure /etc/default/distcc (values below are examples):
1.5.1) STARTDISTCC="true"
1.5.2) ALLOWEDNETS="192.168.1.0/24" # be careful to only allow trusted
       hosts, distcc can run arbirary commands as "distcc" user
1.5.3) LISTENER="192.168.1.8"
1.5.4) ZEROCONF="false" # does not work from chroot since it can't talk to dbus
1.6) sudo /etc/init.d/distcc start

2) ssh to an ARM with debian unstable. This can be your freerunner but
   you probably want to use
   e.g. http://people.debian.org/~aurel32/qemu/arm/ with qemu.
2.1) sudo apt-get install distcc
2.2) export CC="distcc arm-linux-gnueabi-gcc"
2.3) export DISTCC_HOSTS="$address_of_pc1 $address_of_pc2 ..."
2.4) you can now use make -j6 to distribute build to cross-compilers
2.5) note that with debian package you can "CONCURRENCY_LEVEL=6
     apt-get --build source $package" to make sure options are passed
     to make



More information about the pkg-fso-maint mailing list