2013-03-03 23 views
5

Son çekirdek geliştirmem sürüm 2.6 ~ sürümündeydi Şimdi bir modül derlemeye çalışıyorum ve çekirdek ağacının dışında derlerken aşağıdaki hatayı alıyorum.Linux çekirdek modülü derlemesi başarısız oldu

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

nesne dosyası ancak sorun şey değişti ve güncellenen değildi, çekirdek Makefile kendi içinde olduğunu, düzgün oluşturulur?

o çekirdek modülleri için standart bir makefile var, ben kullanıyorum Makefile'a yayınlanmıştır ben kernel.org gelen vanilya çekirdeği kaynaklarını kullanıyorum ve zaten

make oldconfig && make prepare 

yaptılar

# 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 
+0

"KERNELDIR =

cevap

8

Tamam, bunu nasıl çözeceğimi anladım. görünüşte, bu, çekirdeği önceden derlemeden bir modülü derlemeye çalıştığım ilk defa. Bu sorunu çözmek için çekirdek kaynak ağacından aşağıdaki komutu çalıştırın. Bu, modül oluşturma işlemini desteklemek için gerekli tüm altyapıyı oluşturur. Bu, modül oluşturma işlemini desteklemek için gerekli tüm altyapıları oluşturur.

İlgili konular