33 Stimmen

Kreuzkompilierung eines Kernelmoduls

Ich versuche, ein Helloworld-Kernel-Modul (2.6.x) für die ARM-Architektur auf meinem intel x86-Host zu kompilieren.

Die Codesourcery-Toolkette für ARM befindet sich unter: /home/ravi/workspace/hawk/arm-2009q3

Der Kernel-Quellcode befindet sich unter : /home/ravi/arbeitsbereich/hawk/linux-omapl1

Mein Makefile:

ARCH=arm
CROSS_COMPILE=arm-none-linux-gnueabi
obj-m := Hello.o
KDIR := /home/ravi/workspace/hawk/linux-omapl1
PWD := $(shell pwd)
default:
          $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
          $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean

Wenn ich die machen. Die erzeugte .ko ist die meines Host-Rechners, was bedeutet, dass das Makefile den nativen Compiler anstelle des Cross-Compilers aufruft, was mache ich falsch? Die Binärdateien des Cross-Compilers befinden sich in meinem Pfad.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X