系统:Ubuntu10.04
内核版本:2.6.32
首先,我们必须明白,Ubuntu10.04中/usr/src/linux-headers-2.6.32-35中只有坑爹的头文件,所以我们要重新下载一个内核源文件,可以通过命令apt-get install linux-source来下载与当前内核相对应的内核包,下载后的文件为/usr/src/linux-source-2.6.32.tar.bz2,通过tar jxvf linux-source-2.6.32.tar.bz2将其解压到/usr/src中
自己写的模块的makefile如下所示
ifneq ($(KERNELRELEASE),)
obj-m := hello_world.o
else
KDIR := /usr/src/linux-source-2.6.32
all:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers *.order
endif
编译自己的模块,可发现出现了以下问题
ERROR: Kernel configuration is invalid.
include/linux/autoconf.h or include/config/auto.conf are missing.
Run 'make oldconfig && make prepare' on kernel src to fix it.
根据错误在/usr/src/linux-source-2.6.32/目录下执行make oldconfig && mak