Friday, April 17, 2009
Kernel: Compiling a simple module
Here a simple for beginner to compile their first kernel module:
1. Create a simple Makefile:
obj-m += mymodule.o
2. Compile and link the module, notice you should replace your kernel source:
$make -C /usr/src/linux SUBDIRS=$PWD modules
3. Use insmod or rmmod to insert and remove your module into kernel space.
4. Watch your module log message in the kernel ring buffer via dmesg or tailing /var/log/messages only if you did some debugging info.
Update on 09/09/2011
Another method is to create complete Makefile script for example
KERNEL_DIR = /usr/src/linux
SOURCE_DIR = /project/cpu
obj-m += cpu.o
all:
make -C ${KERNEL_DIR} SUBDIRS=${SOURCE_DIR} modules
clean:
make -C ${KERNEL_DIR} SUBDIRS=${SOURCE_DIR} clean
Have many fun...
Linux Kernel Project