This is my main example:
#include <linux/module.h> #include <linux/kernel.h> #define MODULE_NAME "hello_md" MODULE_LICENSE("GPL"); MODULE_AUTHOR("B3h3m0th"); MODULE_DESCRIPTION("Basic LKM; hello world module"); MODULE_VERSION("0.0"); static int __init insert_mod(void) { printk(KERN_ALERT "[%s] Init: \"Hello World\"\n", MODULE_NAME); return 0; } static void __exit remove_mod(void) { printk(KERN_ALERT "[%s] Exit\n", MODULE_NAME); } module_init(insert_mod); module_exit(remove_mod);
My main Makefile:
obj-m += basic_module.o KERNELVERSION = $(shell uname -r) all: $(MAKE) -C /lib/modules/$(KERNELVERSION)/build M=$(PWD) modules clean: $(MAKE) -C /lib/modules/$(KERNELVERSION)/build M=$(PWD) clean
b3h3m0th
source share