老驱动模块在高版本内核编译下错误解决
时间:12-23 09:31 阅读:772次
*温馨提示:点击图片可以放大观看高清大图
简介:文章整理了老驱动模块在高版本内核编译下的两个错误并给出解决办法。
错误一:
scripts/Makefile.build:49: *** CFLAGS was changed in "/home/zjn/workdir/mytest/kermod/dma_i2c/Makefile". Fix it to use EXTRA_CFLAGS. Stop.
将Makefile中CFLAGS 全部改成 EXTRA_CFLAGS
错误二:
/home/zjn/workdir/mytest/kermod/dma_i2c/priv/dev_dma_priv.h:7:26: error: linux/config.h: No such file or directory
这个是由于高版本内核(查看Changlog应该是从2.6.18去掉config.h,代以autoconf.h)
已经把这个文件改名为autoconf.h
解决办法:把#include<linux/config.h>注释掉或者在内核源码中创建空的config.h文件,
从2.6.19后的新版本的内核已经不再包含config.h文件了
图省事儿的话直接 touch ~/kernel/include/linux/config.h就成了。