PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Cross kompilieren



Kampi
01.12.14, 21:03
Hallo zusammen,

ich tue mich im Moment etwas schwer mit dem Cross kompilieren eines Kernelmoduls von meinem Ubuntu Rechner für mein ARM-Board.
Ich habe das folgende Makefile:



obj-m := IO_Treiber.o

KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

all:
make -C $(KDIR) SUBDIRS=$(PWD) modules

clean:
make -C $(KDIR) SUBDIRS=$(PWD) clean


Wenn ich nun aber "make" aufrufe, erscheint folgender Fehler:



asm/types.h:4,
from include/uapi/linux/types.h:4,
from include/linux/types.h:5,
from include/linux/list.h:4,
from include/linux/wait.h:6,
from include/linux/fs.h:6,
from /home/daniel/Schreibtisch/Zybo_Linux/Software/IO_Treiber.c:1:
include/uapi/asm-generic/int-ll64.h:11:29: fatal error: asm/bitsperlong.h: No such file or directory
#include <asm/bitsperlong.h>
^
compilation terminated.
make[2]: *** [/home/daniel/Schreibtisch/Zybo_Linux/Software/IO_Treiber.o] Fehler 1
make[1]: *** [_module_/home/daniel/Schreibtisch/Zybo_Linux/Software] Fehler 2
make[1]: Verlasse Verzeichnis '/usr/src/linux-headers-3.13.0-40-generic'
make: *** [all] Fehler 2


Jetzt habe ich schon gelesen, dass ich für "KDIR" den Pfad meines Zielkernels, also den für das ARM-System, angeben muss.
Aber wo finde ich den? Ich habe mir das rootfs etc. alles mittels OpenEmbedded zusammen gebaut.

Ich hoffe mir kann jemand helfen :(

Danke vielmals!

Gruß
Daniel