====== Cross-Compilieren mit Emdebian ====== === Cross-Compilieren einer C-Source === 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 === Kernelmodul Cross-Compilieren === 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 {{..:treiber_entwicklung:linuxtreiberentwicklung_V1.3.pdf | Skript: Einführung in die Linux Treiberentwicklung}} (Version Zoom Board) zu finden.