一个内核模块的例子:
Makefile文件
在shell下
[root@localhost hello_driver]# make
make -C /usr/src/kernels/2.6.27.5-117.fc10.i686 M=/opt/hello_driver modules
make[1]: Entering directory `/usr/src/kernels/2.6.27.5-117.fc10.i686'
CC [M] /opt/hello_driver/hello.o
Building modules, stage 2.
MODPOST 1 modules
CC /opt/hello_driver/hello.mod.o
LD [M] /opt/hello_driver/hello.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.27.5-117.fc10.i686'
[root@localhost hello_driver]# ls
hello.c hello.mod.c hello.o Makefile~ modules.order
hello.ko hello.mod.o Makefile Module.markers Module.symvers
[root@localhost hello_driver]# insmod hello.ko
[root@localhost hello_driver]# lsmod | grep hello
hello 5248 0
[root@localhost hello_driver]# rmmod hello
[root@localhost hello_driver]# tail -n 2 /var/log/messages
Jun 23 19:33:39 localhost kernel: hello,world!
Jun 23 19:33:55 localhost kernel: Goodbye,cruel world!
[root@localhost hello_driver]# dmesg | tail