安装内核头文件
apt-get install linux-headers-`uname -r
编写hello.c文件
6 #include <linux/init.h>
7 #include <linux/module.h>
8 MODULE_LICENSE("Dual BSD/GPL");
9
10 static int hello_init(void)
11 {
12 printk(KERN_ERR"Hello,world.\n");
13 return 0x0;
14 }
15 static void hello_exit(void)
16 {
17 printk(KERN_ERR"Hello,exit.\n");
18 return;
19 }
20 module_init(hello_init);
21 module_exit(hello_exit);
编写Makefile
25 obj-m += hello.o
26 CURRENT_PATH := $(shell pwd)
27 LINUX_KERNEL := $(shell uname -r)
28 LINUX_KERNEL_PATH := /usr/src/linux-headers-$(LINUX_KERNEL)
29 all:
30 make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) moduels
31 clean:
32 make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) clean
33 编译ko文件
35 make
36
37 加载内核文件
38 insmod hello.ko
39
40 查看内核文件是否加载成功
41 dmesg
42
43 查看内核模块信息
44 modinfo hello.ko
45
46 卸载内核模块
47 rmmod hello.ko
48
49