linux kernel module 编译和加载

来源:互联网 发布:linux有哪些知识点 编辑:程序博客网 时间:2024/05/22 12:52

1、kernel module 准备

     kernel 代码

#include <linux/kernel.h>#include <linux/module.h>#include <linux/init.h>static int __init hello_init(void){    printk("<1> hello modules wordl!\n");    return 0;}static void __exit hello_exit(void){    return;}module_init(hello_init);module_exit(hello_exit);MODULE_LICENSE("GPL");
  makefile 文件

obj-m :=testmodule.oKDIR :=/lib/modules/$(shell uname -r)/buildPWD := $(shell pwd)default:$(MAKE) -C $(KDIR) M=$(PWD) modules

编译make

编译后会生成 testmodule.ko 等文件


2、加载编译的内核模块
执行insmod hellomod.ko

查看内核中已加载的模块

     lsmod 
3、卸载编译的内核模块
rmmod hellomod
4、查看系统日志输出
tail /var/log/messages

原创粉丝点击