La compilation du module du kernel Linux échoue

Mon dernier développement du kernel était en version 2.6 ~ Maintenant, j’essaie de comstackr un module et j’obtiens l’erreur suivante lors de la compilation en dehors de l’arborescence du kernel.

/bin/sh: 1: /home/blabla/workspace/kernel35/linux-3.5/scripts/recordmcount: not found 

Le fichier object est créé correctement, mais le problème réside dans le Makefile du kernel, quelque chose a changé et je n’ai pas été mis à jour?

J’utilise les sources du kernel vanilla de kernel.org, et je l’ai déjà fait

 make oldconfig && make prepare 

J’ai posté le Makefile que j’utilise, c’est un makefile standard pour les modules du kernel

 # Comment/uncomment the following line to disable/enable debugging #DEBUG = y # Add your debugging flag (or not) to CFLAGS ifeq ($(DEBUG),y) DEBFLAGS = -O -g -DBLABLA_DEBUG # "-O" is needed to expand inlines else DEBFLAGS = -O2 endif ccflags-y += $(DEBFLAGS) ccflags-y += -I.. ifneq ($(KERNELRELEASE),) # call from kernel build system obj-m := blabla.o else KERNELDIR ?= /home/blabla/workspace/kernel35/linux-3.5 PWD := $(shell pwd) default: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules endif clean: rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions depend .depend dep: $(CC) $(CFLAGS) -M *.c > .depend ifeq (.depend,$(wildcard .depend)) include .depend endif 

OK, j’ai compris comment résoudre ce problème. apparemment, c’est la première fois que j’essaie de comstackr un module sans comstackr le kernel auparavant. pour résoudre le problème, j’exécute la commande suivante à partir de l’arborescence des sources du kernel.

 make modules_prepare 

Cela crée toute l’infrastructure nécessaire à la création de modules.