基于Ubuntu 12.10,编译Linux驱动程序
1. 准备linux内核源码
此时,我要编译的驱动是基于Ubuntu 12.10内核的,所以我下载的是其对应的内核源码包:
linux_3.5.0-17.28.diff.gz
linux_3.5.0-17.28.dsc
linux_3.5.0.orig.tar.gz
使用命令dpkg-source -x linux_3.5.0-17.28.dsc解压内核源码包,并将diff包中的patch打上。
2. 设置内核源码正确的路径
# cd /root/linux-3.5.0
# ln -s /root/linux-3.5.0 /lib/modules/3.5.0-17-generic/build
3. 编译驱动程序
# cd /root/wifidriver
# make build
此时,可能遇到如下问题:
make[1]: Entering directory `/root/linux-3.5.0' ERROR: Kernel configuration is invalid.
Building modules, stage 2. |
其中一个ERROR,需执行make oldconfig && make prepare
其中一个WARNING,需将/usr/src/linux-headers-3.5.0-17-generic/Module.symvers复 制到/root/linux-3.5.0中,然后执行make oldconfig && make prepare && make scripts