首页 > 代码库 > 第一个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; } 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 文件
本来是:
更改为:
强制给一个和PC 相同的内核版本
这是又一次编译后的结果vermagic 已经改变
然后再次尝试载入:
然后载入再次失败
请各位看看究竟是哪里出错?
第一个hello word 驱动载入失败--------
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。