Das Cross-Compilieren mit der Emdebian Toolchain erfolgt nach dem gleichen Schema wie compilieren für den Host. Um die Anwendungen, die zur Toolchain gehören von den anderen unterscheiden zu können, beginnen alle mit einem architekturspezifischen Präfix, zum Beispiel für ARM mit arm-linux-gnueabi-.
Ein C-Programm für ein ARM-Target wird zum Beispiel folgendermassen übersetzt:
arm-linux-gnueabi-gcc hello.c
Für einen PowerPC Prozessor wäre der Aufruf
powerpc-linux-gnu-gcc hello.c
Wenn ein Kernelmodul oder ein Kerneltreiber für ein Target mit einer anderen Architektur, als die des Hosts, übersetzt wird, muss ebenfalls cross-compiliert werden. Um ein Kernelmodul zu übersetzen wird meist ein Makefile erstellt. Dieses kann einfach angepasst werden, damit ebenfalls, wie beim Übersetzen für den Host, make modules ausgeführt werden kann.
modules: $(MAKE) ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -C $(KERNELDIR) M=$(PWD) modules
Genaueres dazu ist auch im Skript: Einführung in die Linux Treiberentwicklung (Version Zoom Board) zu finden.