linux内核模块时内核树的作用

初学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,kernel)