zoukankan      html  css  js  c++  java
  • 内核模块开发模板

    模块模板

    #include <linux/module.h>
    #include <linux/kernel.h>
    #include <linux/init.h>
    
    
    static int __init test_init(void) {
        printk("enter module
    ");
    } 
    
    static int __exit test_exit(void) {
        printk("exit module
    ");
    }
     
    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
    
  • 相关阅读:
    PHP静态
    PHP批量删除
    PHP增删改查
    PHP数据访问
    PHP继承和多态
    PHP封装
    PHP字符串处理和正则表达式
    PHP数组
    PHP函数
    PHP基础
  • 原文地址:https://www.cnblogs.com/xidongyu/p/11701175.html
Copyright © 2011-2022 走看看