• proc伪文件系统


    内核模块的编译方法及注意事项

    Ubuntu内核(2.6.32)

    2.6内核中,模块的编译需要配置过的内核源码;编译、链接后生成的内核模块后缀为.ko;编译过程首先会到内核源码目录下读取顶层的Makefile文件,然后再返回模块源码所在目录。

    将上面代码保存成Makefile文件,放置在与hello.c文件同一目录下。执行make命令后就可以得到hello.ko模块文件。

    模块的加载和卸载使用insmodrmmod

     

    使用 lsmod查看已加载的模块,以上表明加载成功,可以在/proc中查看。

     

     

    模块的许可证声明

    从2.4.10版本内核开始,模块必须通过MODULE_LICENSE宏声明此模块的许可证,否则在加载此模块时,会收到内核被污染"kernel tainted" 的警告。从linux/module.h文件中可以看到,被内核接受的有意义的许可证有 "GPL","GPL v2","GPL and additional rights","Dual BSD/GPL","Dual MPL/GPL","Proprietary"。

    在同时支持2.4与2.6内核的设备驱动中,模块可按如下方式声明自己的许可证。

    #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,10)

    MODULE_LICENSE("GPL");

    #endif

  • 相关阅读:
    嵊泗
    窗函数介绍
    射频与微波测量之失真参数
    C# 文件与路径操作
    史密斯圆图
    Winform 关闭Form而不销毁Form的内存
    射频与微波测量之S参数
    东极岛
    C#中正则表达式解析字符串信息
    射频微波相关公式
  • 原文地址:https://www.cnblogs.com/fallenmoon/p/6744636.html
Copyright © 2020-2023  润新知