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
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