zoukankan      html  css  js  c++  java
  • centos6.5下编译hello.ko驱动程序

    说明:

      该驱动编译过程是在虚拟机中,安装完centos 6.5系统后:

    A:默认make为用的自带的内核版本,我的centos 6.5系统 版本为(命令uname -r):2.6.32-431.el6.x86_64时:

    A1、cd /usr/src/kernel/下;
    A2、将2.6.32-431.el6.x86_64的kernel文件夹复制到/usr/src/下;
    A3、在/usr/src/2.6.32-431.el6.x86_64/drivers/下创建存放hello测试程序的目录:mkdir test;
    A4、进入到test下,创建hello.c和Makefile
    A5、其中hello.c如下:
    /*****************************/
    #include <linux/init.h>
    #include <linux/module.h>
    MODULE_LICENSE("Dual BSD/GPL");

    static int hello_init(void)
    {
    printk(KERN_ALERT " Hello world enter ");
    return 0;
    }

    static void hello_exit(void)
    {
    printk(KERN_ALERT " Hello world exit ");
    }

    module_init(hello_init);
    module_exit(hello_exit);

    MODULE_AUTHOR("zzz");
    MODULE_DESCRIPTION("A simple Hello world module");
    MODULE_ALIAS("a simplest module");
    /*****************************************/

    而Makefile中只有一句:obj-m := hello.o

    A6、在当前test目录下,执行:
    make -C /usr/src/2.6.32-431.el6.x86_64 M=$(pwd) modules

    完成后,则在当前目录下能够看到hello.ko驱动文件。

    执行modinfo hello.ko将看到该模块的信息如下:
    /****************************/
    filename: hello.ko
    alias: a simplest module
    description: A simple Hello world module
    author: zzz
    license: Dual BSD/GPL
    srcversion: 5AB83CD37662439404D5EE3
    depends:
    vermagic: 2.6.32-431.el6.x86_64 SMP mod_unload modversions
    /*****************************/

    A7、执行insmod hello.ko,将驱动模块加载到内核中

    A8、执行cat /var/log/messages | tail
    将在屏幕上看到系统打印的信息:Apr 2 18:02:51 localhost kernel: Hello world enter。

    A9、执行rmmod hello.ko 从内核中移除hello驱动模块和 cat /var/log/messages |tail
    将在屏幕上看到系统打印信息:Apr 2 18:04:33 localhost kernel: Hello world exit。

    A10、至此,在自带的centos 6.5下的hello.ko驱动编译结束。

  • 相关阅读:
    深蓝说区块学习笔记
    Golang语言练习
    WebAssembly学习
    JMeter如何维持登录Session状态
    MySQL脏读、不可重复读、幻读及MVCC
    webrtc源码分析(7)-fec
    webrtc源码分析(9)-拥塞控制(下)-码率分配
    webrtc源码分析(8)-拥塞控制(上)-码率预估
    剑指offer刷题合集
    Visual Studio ------- 将在解决方案中单击文件名,预览文件内容功能开启与关闭
  • 原文地址:https://www.cnblogs.com/paladinzxl/p/4787128.html
Copyright © 2011-2022 走看看