Version 6 (modified by sam, 5 years ago) (diff)

fix a typo in the Raspi doc

Set up a cross-build machine for the Raspberry Pi


This document focuses on Debian hosts. Debian derivatives such as Ubuntu should work with minor changes.


Alternatively, these can be retrieved using Git. Unpack them in two directories called firmware and tools.

Environment variables

  • Set RASPI_SDK_ROOT to the directory containing firmware and tools.
  • Add the following directory to PATH:

Building autoconf projects

For simple autoconf projects (using ./configure ; make) the following command can now be used:


./configure --host=arm-bcm2708hardfp-linux-gnueabi \
    CPPFLAGS="-I$RASPI_INCLUDES -I$RASPI_INCLUDES/interface/vcos/pthreads" \


Using Debian / Raspbian libraries

Choose a directory to store Raspbian packages, for instance $RASPI_SDK_ROOT/chroot. You can then use debootstrap to install packages to it, but if you have a multiarch-enabled system you can use this poor man's shell script:

raspi-install () {
    for pkg in "$@"
        apt-get download "$pkg":armhf \
         && dpkg-deb -x "$pkg"_*.deb $RASPI_SDK_ROOT/chroot \
         && rm -f "$pkg"_*_armhf.deb

Then for eg. SDL:

raspi-install libsdl1.2debian libsdl1.2-dev

Then add the following to CPPFLAGS in the configure line:


And the following to LDFLAGS:

-Wl,-rpath-link -Wl,$RASPI_SDK_ROOT/chroot/lib/arm-linux-gnueabihf
-Wl,-rpath-link -Wl,$RASPI_SDK_ROOT/chroot/usr/lib/arm-linux-gnueabihf

Bitten configuration

For Lol Engine autobuilders, add the following section to the bitten machine file:

version = 0