linux内核模块时内核树的作用
2016-03-22 16:48
337 查看
初学linux驱动开发,自然少不了对设备与模块的深入理解。
今天尝试操作一个最简单的linux内核模块:hello world,也是困难重重。
跪点在于:如何编译
通过各种查看资料,在linux操作系统中,一般是不含有源码的,也就是所说的内核树。那么,如果想要调用源码中的头文件,就需要自己动手搭建内核树。
一般在 www.kernel.org 就可以获得各种版本的内核代码,记得下载前先用指令(uname -r)查看一下安装的系统版本,下载的内核版本要与之对应。
当然,也不是非要搭建内核树,也可以利用系统本身的头文件,只是在编译文件Makefile中指明路径信息,具体操作连接:http://www.cnblogs.com/QuLory/archive/2012/10/23/2736339.html
当当当当~~~是不是好开心呢~~~
如何编译其实也就是指如何构建模块,突然发现书《linux内核设计与实现》P275中有更明了的解释:构建过程的第一步是决定在哪里管理模块源码。你可以把模块源码加入到内核源代码树中,或是作为一个补丁或者是最终把你的代码合并到正式的内核代码树中;另一种可行的方式是在内核源代码树之外维护和构建你的模块源码。
今天尝试操作一个最简单的linux内核模块:hello world,也是困难重重。
跪点在于:如何编译
通过各种查看资料,在linux操作系统中,一般是不含有源码的,也就是所说的内核树。那么,如果想要调用源码中的头文件,就需要自己动手搭建内核树。
一般在 www.kernel.org 就可以获得各种版本的内核代码,记得下载前先用指令(uname -r)查看一下安装的系统版本,下载的内核版本要与之对应。
当然,也不是非要搭建内核树,也可以利用系统本身的头文件,只是在编译文件Makefile中指明路径信息,具体操作连接:http://www.cnblogs.com/QuLory/archive/2012/10/23/2736339.html
当当当当~~~是不是好开心呢~~~
如何编译其实也就是指如何构建模块,突然发现书《linux内核设计与实现》P275中有更明了的解释:构建过程的第一步是决定在哪里管理模块源码。你可以把模块源码加入到内核源代码树中,或是作为一个补丁或者是最终把你的代码合并到正式的内核代码树中;另一种可行的方式是在内核源代码树之外维护和构建你的模块源码。
相关文章推荐
- centos 6.5 搭建svn
- Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
- 使用systemd配置SVN服务器自动启动
- Linux将多网口虚拟为一个网卡
- Linux的启动流程
- linux中fork()函数详解(原创!!实例讲解)
- CentOS进入单用户模式
- 用户的主要群组和次要群组
- 移植最新内核linux-3.14.6到mini2440开发板
- linux命令:top命令
- linux命令:kill命令
- Linux内核设计第五周学习总结 分析system_call中断处理过程
- USB设备驱动程序-USB Gadget Driver(四)
- linux下使用lnmp1.2建立ftp服务器
- [linux]ln命令
- linux命令:ps命令
- USB设备驱动程序-USB Gadget Driver(三)
- LINUX 之 SED 使用
- linux 内核协议栈
- ubuntu 安装g++ 一直失败,解决!