Moja ostatnia wersja jądra była w wersji 2.6 ~ Teraz próbuję skompilować moduł i pojawia się następujący błąd podczas kompilacji poza drzewem jądra.Niepowodzenie kompilacji jądra Linuksa
/bin/sh: 1: /home/blabla/workspace/kernel35/linux-3.5/scripts/recordmcount: not found
Plik obiekt jest tworzony poprawnie, jednak problem jest w samej Makefile jądra, coś się zmieniło i nie został zaktualizowany?
Używam źródła kernela z kernel.org wanilii, a ja już nie
make oldconfig && make prepare
Zamieściłem Makefile że używam, to norma makefile dla modułów jądra
# 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
Czy próbowałeś 'make KERNELDIR = <ścieżka do twojego jądra>'. Plik, który masz, ma domyślną wartość */home/blabla /../ linux-3.5 *. Czy to jest źródło twojego jądra? W rzeczywistości wygląda na to, że 'KERNELDIR' jest ścieżką do drzewa kompilacji. Czy budowanie i źródło są inne? –