安装kernel 用于编译驱动

下载linux-rpi-3.12.y 以及对应Module.symvers
注意下载最新的文件,别下百度盘里的,有bug

如果提示
warning clock skew detected.是因为文件日期比系统日期更长,执行

find -type f | xargs -n 5 touch

执行

make mrproper

进行系统编译前清理,注意顺序,先清理,再做后面的.config和Module.symvers

获取当前系统配置

gzip -dc /proc/config.gz > .config 放到linux-rpi-3.12.y目录

Module.symvers也放到目录

执行

make modules_prepare

软链接到库目录

ln -s xxxxx/linux-rpi-3.12-y /lib/modules/3.12.35+/build

注意build目录在ln前不能存在,否则ln后的位置在build/build。注意用绝对路径。

编译完后,insmod时提示invalid module,此时可以看dmesg:
disagrees about version of symbol module_layout,原因是Module.symvers文件版本不对,必须要和kernel一致的版本才行.


linux-rpi-3.12-y和Module.symvers的下载

make mrproper make modules_perpare 的详细说明