当前位置: 技术问答>linux和unix
linux下编译,加载内核模块的环境配置问题?
来源: 互联网 发布时间:2016-01-21
本文导语: 我发现,编译,加载内核模块,并不是只要有正确的源代码树就可以的,好像还要涉 及到很多跟内核配置相关的文件,我不是很全面的了解这些,所以,发这个帖子,请 知情者指教,希望能获得一个比较全面的了...
我发现,编译,加载内核模块,并不是只要有正确的源代码树就可以的,好像还要涉
及到很多跟内核配置相关的文件,我不是很全面的了解这些,所以,发这个帖子,请
知情者指教,希望能获得一个比较全面的了解;我可以把我碰到的两个问题列出来:
1. .config文件,在源代码树下,如果没有这个文件,内核模块一般是不能编译的,
里面记录了内核树下面的文件的一些关联信息;
2. 重新编译内核后,很多模块并不是像你想象中,跟旧的内核下一样,而是不能正
确加载(能够正确编译);
我碰到的一个问题就是,/usr/src/linux/include/linux/autoconf.h文件中没
有正确地配置CONFIG_SMP, 导致报告“unsovlved symbol tqueue_lock”;
因为想排除由于配置环境出错带来的编译,加载错误, 这样才能专心于模块驱动程
序的设计上,希望能够得到大家更多的反馈,因为很多时候,都是由于一些跟编程
相关的一些文件或者配置不正确,花费了很多时间。。。。。。
及到很多跟内核配置相关的文件,我不是很全面的了解这些,所以,发这个帖子,请
知情者指教,希望能获得一个比较全面的了解;我可以把我碰到的两个问题列出来:
1. .config文件,在源代码树下,如果没有这个文件,内核模块一般是不能编译的,
里面记录了内核树下面的文件的一些关联信息;
2. 重新编译内核后,很多模块并不是像你想象中,跟旧的内核下一样,而是不能正
确加载(能够正确编译);
我碰到的一个问题就是,/usr/src/linux/include/linux/autoconf.h文件中没
有正确地配置CONFIG_SMP, 导致报告“unsovlved symbol tqueue_lock”;
因为想排除由于配置环境出错带来的编译,加载错误, 这样才能专心于模块驱动程
序的设计上,希望能够得到大家更多的反馈,因为很多时候,都是由于一些跟编程
相关的一些文件或者配置不正确,花费了很多时间。。。。。。
|
最简单的方法是使用系统本身的config
一般在/boot下面都有config-version文件(version是根据你的使用的内核版本而定的),这就是编译内核使用的.config
一般在/boot下面都有config-version文件(version是根据你的使用的内核版本而定的),这就是编译内核使用的.config
|
遇到问题再来解决,所谓兵来将挡嘛
|
.config文件,在源代码树下,如果没有这个文件
源代码树在哪儿
我装完fc6后马上就可以编译一般的驱动程序了 ^_^
源代码树在哪儿
我装完fc6后马上就可以编译一般的驱动程序了 ^_^