Linux设备驱动(2)——编译加载
来源:互联网 发布:js模块化概念 编辑:程序博客网 时间:2024/06/06 04:25
1.内核编译说明:Document/kbuild
2.内核编译需要的工具版本:Document/Changes
3.已经构建内核源码树环境的Makefile: obj-m := hello.o
4.make -C ~/kernel-2.6 M=`pwd` modules
该命令开始是改变它的目录到用 -C 选项提供的目录下(内核源码源码目录),它在那里会发现内核的顶级makefile,M= 选项使makefile 在试图建立模块目标前回到你的模块源码目录
5.insmod 加载模块的代码段和数据段到内核
6.modprobe 查看要加载的模块,看是否引用了当前内核没有定义的符号,如果发现有,在定义相关符号的当前模块搜索路径中寻找其他模块,当modprobe找到这些模块,它把他们加载到内核,如果在这种情况下代替以使用insmod,命令会失败,在系统日志中留下一句:“unresolved symbols”消息。
7.内核认为一个给定模块是针对一个正确的内核版本建立的,建立过程的一步是对当前内核树中的文件连接你的模块,这包含了相当多的有关要为其建立模块的内核信息,包括内核版本,编译器版本等,当加载一个模块时,这些信息将被检查与运行内核的兼容性,如果不匹配,模块不会加载。你将看到:
# insmod hello.ko
Error inserting './hello.ko': -1 Invalid module format
0 0
- Linux设备驱动(2)——编译加载
- linux设备驱动——scull源码编译问题
- linux设备驱动与加载
- linux设备驱动加载方式
- linux设备驱动模型——总线、设备、设备驱动
- Linux字符设备驱动-globalmem驱动编译加载遇到的问题及解决办法
- Linux设备驱动模型——设备
- Linux设备驱动(2)字符设备
- Linux 设备驱动开发 —— 基于自己的设备驱动开发环境设计驱动(一)
- Linux驱动开发(七)——设备驱动模型
- Linux驱动编译与加载
- 设备驱动-----Linux 设备和驱动加载的先后顺序
- Linux 设备和驱动加载的先后顺序 2
- linux设备驱动笔记——字符设备驱动
- linux设备驱动——总线、设备、驱动
- linux设备驱动——总线、设备、驱动
- linux设备驱动——总线、设备、驱动
- Linux设备驱动篇——[I2C设备驱动-1]
- Form.getInputs
- Js中parseFloat()方法所产的精度不一致问题
- 柴静穹顶之下 感想
- spring rmi 多 ip情况下出现的问题
- linux i2c架构简析
- Linux设备驱动(2)——编译加载
- iOS 自动化集成和测试
- Caused by:org.hibernate.MappingNotFoundException:resouce:com/you/model/Monkey.hbm.xml not found
- Android自学笔记(4)
- 剑指offer 09:斐波那契数列
- java 泛型方法类型推导
- 手机支持网络模式介绍
- Linux下使用DrCom上网
- malloc内存分配与free内存释放的原理