Kompilieren eines Kernel-Moduls
Ich versuche zu cross-kompilieren eines helloworld-kernel (2.6.x) - Modul für ARM-Architektur auf meinem intel-x86-host.
Die codesourcery toolchain für ARM befindet sich unter: /home/ravi/workspace/hawk/arm-2009q3
Den kernel-Quellcode befindet sich unter :/home/ravi/workspace/hawk/linux-omapl1
Meinem 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 machen, die .ko-produziert ist, dass von meiner host-Maschine, die bedeutet, ist das makefile aufrufen der native-compiler statt dem cross-compiler.Was mache ich falsch? Die cross-compiler - binaries sind in meinem Weg.
Kommentar zu dem Problem
Wir konnten sehen, das Makefile von
KDIR
? Kommentarautor: BetaInformationsquelleAutor der Frage itisravi | 2010-08-12
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Setzen
ARCH
undCROSS_COMPILE
im Makefile funktioniert nicht. Sie müssen Sie auf der Kommandozeile:InformationsquelleAutor der Antwort JayM
Ersetzen
durch
dies funktioniert auch, wenn Sie nicht wollen, geben Sie diese parameter Befehlszeile jedes mal.
InformationsquelleAutor der Antwort raj_gt1
Sidenote:
SUBDIRS=
ist veraltet, zu Gunsten derM=
.InformationsquelleAutor der Antwort user502515
könnten Sie versuchen, Sie vergaß hinzuzufügen, ARCH und CROSS_COMPILE in den Standard und sauber
InformationsquelleAutor der Antwort Albert Chen
hinzufügen
export
am Ende des Makefile Variablen-Deklarationen werden an subshells. und fügen Sie den Bindestrich, um dieCROSS_COMPILE
Präfix als JayM hingewiesen undM
stattSUBDIRS
als user502515 beantwortet.und es ist generell eine gute Idee, mit
:=
eher als=
im Makefile, so wird die variable wird nur interpoliert einmal. ist wirklich egal, in diesem speziellen Fall aber.InformationsquelleAutor der Antwort jcomeau_ictx
InformationsquelleAutor der Antwort aldo