第一个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\n");
    return 0;
}

static void hello_exit(void)
{
    printk("GOODBYE,world\n");
}

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   文件

本来是:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

更改为:

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

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

然后再次尝试载入:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

然后载入再次失败

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

时间: 2024-10-25 14:12:19

第一个hello word 驱动载入失败--------的相关文章

第一个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\n"); return 0;

Windows 2008驱动安装失败的原因及解决方法

希望这些内容能够帮助各位朋友顺利地在Windows Server 2008系统环境下安装使用好各种设备的驱动程序! 寻找安装失败原因 一般来说,当我们将目标设备的驱动安装光盘正确放置到Windows Server 2008系统的物理光驱中后,系统能够自动弹出驱动程序安装向导窗口,开始安装目标设备的驱动程序,这是因为驱动安装光盘的根目录中常常存在一个名为 “Autorun.ini”的文件,用记事本之类的文本编辑程序打开该文件时,我们会看到其中包含“open=setup.exe”或 “open=in

一款炫酷Loading动画--载入失败

简单介绍 上一篇文章一款炫酷Loading动画–载入成功.给大家介绍了成功动画的绘制过程,这篇文章将接着介绍载入失败特效的制作. 相比成功动画,有了前面的经验,失败动画的过程就显得比較简单了. 动画结构分析 首先我们来看失败动画的一张图: 失败动画的状态转移描写叙述例如以下: 1.载入过程,画蓝色圆环,当进度为100%时.圆环完毕 2.从右側抛出蓝色小方块.小方块沿着曲线到达圆环正上方 3.小方块突然消失.红色感叹号逐渐出现 4.感叹号完整出现以后.圆环变红色.感叹号发生震动 因为前两个过程,和

【转】写一个块设备驱动(1)

原文地址:写一个块设备驱动 一直对块设备驱动似懂非懂,这次发现了这个介绍块设备驱动很好的系列,打算把这套东西弄懂,一起跟着作者学习一遍 作者写这个系列的初衷如下,我觉得很好,网上搜到的大部分都是介绍一些玄乎的东西,看完似懂非懂的~ 在这套教程中,我们通过写一个建立在内存中的块设备驱动,来学习linux内核和相关设备驱动知识. 选择写块设备驱动的原因是: 1:容易上手 2:可以牵连出更多的内核知识 3:像本文这样的块设备驱动教程不多,所以需要一个 概述 在开始赵磊的教程之前,先对块IO子系统进行一

“WORD上次启动失败,以安全模式启动”的解决方法

现象: word不能正常启动,并有提示框:遇到问题需要关闭,并提示尝试恢复.但恢复后又出现提示:WORD上次启动失败,以安全模式启动WORD将帮助您纠正或发现启动中的问题,以便下一次启动应用程序.确认后可在安全模式下启动WORD.但一些功能将被禁用.原因: Word的模本损坏了,导致不能正常启动word.卸载和重装word均不能解决问题.办法: 删除Normal.dot模本文件,WORD就会自动重新创建一个好的模本文件.Normal.dot文件路径:C:\Documents and Settin

写一个块设备驱动5,6

http://blogold.chinaunix.net/u3/108239/showart.php?id=2144628 第5章 +---------------------------------------------------+|                 写一个块设备驱动                  |+---------------------------------------------------+| 作者:赵磊                          

写一个块设备驱动13,14

http://blogold.chinaunix.net/u3/108239/showart.php?id=2144636 第13章 +---------------------------------------------------+|                 写一个块设备驱动                  |+---------------------------------------------------+| 作者:赵磊                         

写一个块设备驱动7,8

http://blogold.chinaunix.net/u3/108239/showart.php?id=2144630 第7章 +---------------------------------------------------+|                 写一个块设备驱动                  |+---------------------------------------------------+| 作者:赵磊                          

写一个块设备驱动1,2

http://blogold.chinaunix.net/u3/108239/showart.php?id=2144624 第1章 +---------------------------------------------------+|                 写一个块设备驱动                  |+---------------------------------------------------+| 作者:赵磊