helloword.c
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
static int __init lkm_init(void)
{
printk("hello world\n");
return 0;
}
static void __exit lkm_exit(void)
{
printk("bye bye\n");
}
module_init(lkm_init);
module_exit(lkm_exit);
MODULE_LICENSE("GPL");
Makefile
obj-m:=helloworld.o
CURRENT_PATH:=$(shell pwd)
LINUX_KERNEL:=$(shell uname -r)
LINUX_KERNEL_PATH:=/usr/src/linux-headers-$(LINUX_KERNEL)
all:
make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) modules
clean:
make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) clean
/proc目录存放系统硬件及当前正在运行进程的信息
insmod 模块安装
rmmod 模块卸载
lsmod 显示内核模块状态
dmesg 打印内核打印信息
dmesg -C 清空内核打印信息