ganquan@debian:~/Driver/examples/scull$ make
make -C /lib/modules/2.6.26-2-686/build M=/home/ganquan/Driver/examples/scull LDDINC=/home/ganquan/Driver/examples/scull/../include modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.26-2-686'
CC [M]  /home/ganquan/Driver/examples/scull/main.o
/home/ganquan/Driver/examples/scull/main.c:17:26: error: linux/config.h: No such file or directory
make[2]: *** [/home/ganquan/Driver/examples/scull/main.o] Error 1
make[1]: *** [_module_/home/ganquan/Driver/examples/scull] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.26-2-686'
make: *** [modules] Error 2

解决方法:

先删掉main.c里面的#include<linux/config.h>,因为在2.6.19版本以后不再有config.h文件了。删除后再make还是有很多问题,再添加#include <linux/sched.h> 到access.c文件。

ganquan@debian:~/Driver/examples/scull$ make
make -C /lib/modules/2.6.26-2-686/build M=/home/ganquan/Driver/examples/scull LDDINC=/home/ganquan/Driver/examples/scull/../include modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.26-2-686'
scripts/Makefile.build:46: *** CFLAGS was changed in "/home/ganquan/Driver/examples/scull/Makefile". Fix it to use EXTRA_CFLAGS.  Stop.
make[1]: *** [_module_/home/ganquan/Driver/examples/scull] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.26-2-686'
make: *** [modules] Error 2

两种解决方法:
(1)用EXTRA_CFLAGS替换Makefile中的CFLAGS
(2)使用 KBUILD_NOPEDANTIC
再来一次

ganquan@debian:~/Driver/examples/scull$ make KBUILD_NOPEDANTIC=1
make -C /lib/modules/2.6.26-2-686/build M=/home/ganquan/Driver/examples/scull LDDINC=/home/ganquan/Driver/examples/scull/../include modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.26-2-686'
CC [M]  /home/ganquan/Driver/examples/scull/main.o
CC [M]  /home/ganquan/Driver/examples/scull/pipe.o
CC [M]  /home/ganquan/Driver/examples/scull/access.o
LD [M]  /home/ganquan/Driver/examples/scull/scull.o
Building modules, stage 2.
MODPOST 1 modules
CC      /home/ganquan/Driver/examples/scull/scull.mod.o
LD [M]  /home/ganquan/Driver/examples/scull/scull.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.26-2-686'

没问题了。