linux 2.4的核下的第一个驱动遇到的困难和config.h文件有关
时间:2008-01-06
来源:互联网
在驱动程序中我包含了必须的文件
#include <linux/module.h> //所有模块都需要的头文件
我的源代码解压后放的路径是 /usr/src/linux
然后编译的错误提示是:
/usr/src/linux/include/linux/config.h 中所引用的<linux/autoconfig.h>不存在
我查了下..确实在linux的源代码中不存在autoconfig.h
所以很郁闷是哪里错了
作者: fxieg 发布时间: 2008-01-06
作者: pottichu 发布时间: 2008-01-06
2.48.18.3
********make file 是这个样子的/usr/src/linux/是我解压后的内核源码的地方
gcc -D __KERNEL__ -D MODULE -D LINUX -I/usr/src/linux/include -o test.o test.c
********提示的错误是:
:NO such file or directory
In file included from /usr/src/linux/include/linux/config.h: 4,
from test.c:9:
/usr/include/linux/autoconf.h:1:2#error Invalid kernel header included in user space
********下面是我的test.c文件的内容
//开始例行公事
#ifndef __KERNEL__
# define __KERNEL__
#endif
#ifndef MODULE
# define MODULE
#endif
#include <linux/config.h>
#include <linux/module.h>
MODULE_LICENSE("GPL");
#ifdef CONFIG_SMP
#define __SMP__
#endif
// 结束例行公事
#include <linux/kernel.h> // printk()在这个文件里
static int init_module()
{
printk("Hello,World!\n");
return 0; /* 如果初始工作失败,就返回非0 */
}
static void cleanup_module()
{
printk("Bye!\n");
}
作者: fxieg 发布时间: 2008-01-07
如果没有, 建议你 make menuconfig 一下, 有些配置文件就是这个时候生成的。
/usr/include/linux/autoconf.h:1:2#error Invalid kernel header included in user space
这个问题,基本上, 你重新编译一下/usr/src/linux/ 目录下的内核就能解决的。
另外, 安装好 linux 以后 /usr/src/kernels/ 目录下应该就有 源代码的, 你应该用该目录下的。
要不然, 即使你编译通过了, 最后 insmode 的时候也可能因为版本不同而加载
作者: pottichu 发布时间: 2008-01-07
作者: fxieg 发布时间: 2008-01-07
但是仍然提示
:NO such file or directory
请问是怎么回事?谢谢
作者: fxieg 发布时间: 2008-01-07
貌似你的程序并不需要包含
#include <linux/config.h>
作者: pottichu 发布时间: 2008-01-07
的错误找到了 应该和我没关系
我重新进行编译 遇到了新的错误:大意是我缺少main的主函数 我这个晕啊.]
错误提示是这样的
/usr/lib/gcc-lib/i386....../ctr1.o:In function '_start':
/usr/lib/gcc-lib/i386....../ctr1.o(.txt+0x18):undefined reference to 'main'
collect2:ID returened 1 exit status
小猪能给个提示吗 谢谢
作者: fxieg 发布时间: 2008-01-07
你的内核是你现在的源代码版本编译出来的么?
作者: alaiyeshi 发布时间: 2008-01-07
需要重新编译内核吗??我的原始操作流程是这样的:
装好 linux,然后,把源代码解压到/usr/src/linux中,
最后make menuconfig
然后 ..再写驱动程序..
没有重新编译内核
作者: fxieg 发布时间: 2008-01-07
http://www.linuxsir.org/bbs/showthread.php?t=212832
作者: pottichu 发布时间: 2008-01-07
作者: alaiyeshi 发布时间: 2008-01-07
驅動和內核版本是相關的 。
作者: agaric 发布时间: 2008-02-02
作者: meiZiNick 发布时间: 2008-05-01
新的内核已经不包含config.h文件了
作者: happyboygd 发布时间: 2011-07-17
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28