编写驱动程序时,需要内核源码树的支持。内核源码树时从内核源代码编译得到的。下面开始构造内核源代码的步骤。以Ubuntu为例子
1. 下载内源代码,位置www.kernel.org. (注意:源码树内核的版本要和驱动程序运行的目标平台的内核版本一致)
- uname -r 显示内核版本(2.6.32.2)
- 下载内核
- 解压内核
2. 配置内核 进入解压过的内核目录,开始配置内核选择最快的原版的配置(默认)方式。 root@desktop# make oldconfig
当然也可以使用其他配置方式,如 menuconfig, xconfig(必须有GTK环境)。反正不用剪裁什么,所以不管那种方式能配置它就行了。
3. 编译内核 如果你使用交叉编译器,则需要修改Makefile。 开始编译内核。(保证硬盘空间足够) root@desktop# make root@desktop# make bzImage
当然,第一个make也可以不执行,直接make bzImage。执行结束后,可以看到在当前目录下生成了一个新的文件: vmlinux, 其属性为-rwxr-xr-x。
root@desktop# make modules // 编译模块 root@desktop# make modules_install // 安装模块
执行结束后,会在/lib/modules下生成新的目录/lib/modules/2.6.22-14-generic/。在编译驱动模块时,要用到这个路径下的build目录。 至此,内核编译完成。可以重启一下系统 |