模块模板

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>


static int __init test_init(void) {
    printk("enter module\n");
} 

static int __exit test_exit(void) {
    printk("exit module\n");
}
 
module_init(test_init);
module_exit(test_exit);
 
MODULE_LICENSE("GPL");

Makefie

ifneq  ($(KERNELRELEASE),)
obj-m:=test_mod.o
else
# KDIR替换成内核代码的路径,如果交叉编译,则为linux源码路径
KDIR := /home/hdy/linux-4.19.77
PWD:=$(shell pwd)
all:                                                                            
	make -C $(KDIR) M=$(PWD) modules
clean:
	rm -rf .*o.cmd *.ko *.mod.* *.o *.order *.symvers .tmp_versions
endif

模块安装与卸载

insmod module_name.ko
rmmod module_name

查看内核打印的log

dmesg

相关文章:

  • 2021-05-19
  • 2021-09-07
  • 2021-12-21
  • 2021-09-29
  • 2021-07-25
  • 2021-09-29
猜你喜欢
  • 2022-03-07
  • 2022-12-23
  • 2022-02-19
  • 2022-12-23
  • 2022-02-02
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案