zoukankan      html  css  js  c++  java
  • 第一个hello word 驱动载入失败--------

                       今天尝试自己载入第一个驱动模块,依据惯例hello word 然后失败了,如今说明我的操作过程。请个位看看。

    首先我的内核版本号:


    模块代码与MAKEFILE

         

    #include<linux/init.h>
    #include<linux/module.h>
    
    MODULE_LICENSE("Dual BSD/GPL");
    
    static int hello_init(void)
    {
        printk("hello,world
    ");
        return 0;
    }
    
    static void hello_exit(void)
    {
        printk("GOODBYE,world
    ");
    }
    
    module_init(hello_init);
    module_exit(hello_exit);
    

    obj-m +=Hello.o  
    CURRENT_DIR:=$(shell pwd)  
    KERNEL_DIR:=$(shell uname -r)  
    KERNEL_PATH:=/usr/src/kernels/$(KERNEL_DIR)  
      
    all:  
    	    make -C $(KERNEL_PATH) M=$(CURRENT_DIR) modules  
    clean:  
    	    make -C $(KERNEL_PATH) M=$(CURRENT_DIR) clean  
    

    编译通过:

      

          

       这是编译的结果。没有报错。

       首先查看了/usr/src 这里并没有源代码树,所以运行  yum install kernel-devel    命令安装源代码树

       可是安装完毕后是4.0.7 版本号内核源代码树,可是如今内核版本号是4.0.6 于是更新yum update

       可是显示已经更新4.0.7 版本号。又一次启动后还是4.0.6   

       此处第一次脑洞大开。将/usr/src/ 下最新的4.0.7 源代码树名称更改为 4.0.6

       可是modinfo Hello.ko    的vermagic  还是4.0.7

       于是更改/usr/src/kernels/4.0.6-200.fc21.x86_64/include/linux/vermagic.h   文件

       本来是:

           

         更改为:

              

       

           强制给一个和PC 相同的内核版本

    这是又一次编译后的结果vermagic 已经改变

    然后再次尝试载入:


                            

    然后载入再次失败

    请各位看看究竟是哪里出错?

  • 相关阅读:
    AspNetPager多参数传值
    PHP5.3不支持zend debugger, 安装Xdebug调试工具
    WebClient模拟Post发送接收数据
    Newtonsoft.Json序列化和反序列
    VS.PHP 调试错误:Apache Http server已停止工作
    Ubuntu 10.04 下 xampp 安装教程
    java之递归学习
    产品经理值得交的10个朋友
    不用windows安装盘安装64位win7或windows server 2008的方法(32位winpe下安装64位的办法)
    全生命周期研发流程
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/7112883.html
Copyright © 2011-2022 走看看