1) Setup armel cross-compiler using http://iki.fi/lindi/openmoko/debian-armel-cross.txt 1.1) verify that arm-linux-gnueabi-gcc works: $ cat > hello.c < 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.6) configure /etc/default/distcc (values below are examples): 1.6.1) STARTDISTCC="true" 1.6.2) ALLOWEDNETS="192.168.1.0/24" # be careful to only allow trusted hosts, distcc can run arbirary commands as "distcc" user 1.6.3) LISTENER="192.168.1.8" 1.6.4) ZEROCONF="false" # does not work from chroot since it can't talk to dbus 1.7) 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/armel/ with qemu. Note that you probably want to add e.g. "-redir tcp:5022::22" qemu option so that you can "ssh localhost -p 5022 -l root" to access the ARM system. 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 whatever build system the package uses.