当前位置: 技术问答>linux和unix
问一个《linux设备驱动程序第三版》第二章中运行那个示例模块的问题
来源: 互联网 发布时间:2015-12-03
本文导语: 第二章那个运行示例的模块,说是需要2.6的内核,我现在装的是red hat linux 9.0的版本,内核是2.4的,可是书上说运行那些示例必须要2.6的内核,我现在已经下载了2.6的内核代码,现在应该如何做才能编译并运行那个...
第二章那个运行示例的模块,说是需要2.6的内核,我现在装的是red hat linux 9.0的版本,内核是2.4的,可是书上说运行那些示例必须要2.6的内核,我现在已经下载了2.6的内核代码,现在应该如何做才能编译并运行那个模块呢?
书上说需要在makefile能找到的地方正确配置和构造了的内核树,那什么是正确配置呢?怎么配置才算正确呢?都需要我做什么呢?
呵呵,初学,请多指教:)还请介绍的详细一点,谢谢了哦
书上说需要在makefile能找到的地方正确配置和构造了的内核树,那什么是正确配置呢?怎么配置才算正确呢?都需要我做什么呢?
呵呵,初学,请多指教:)还请介绍的详细一点,谢谢了哦
|
blooney(野比)
回:"Fedora 5安装的时候默认不带内核代码的,那影响驱动程序这些模块的编译和运行吗?"
Fedora 5安装的时候是默认不带内核代码的,所以学要些准备工作,具体的步骤:
http://blog.csdn.net/yiminglinux/archive/2006/04/19/668813.aspx
使用Fedora Core 5 (FC5)编译新的模块
1.确定安装了GCC与RPM相关的包。
2.安装相应的内核源代码,因为FC5本身没有提供相应的源码包在安装盘上,所以要在官方网站上下载,网址如下。
URL http://download.fedora.redhat.com/pub/fedora/linux/core/5/so urce/SRPMS/kernel-2.6.15-1.2054_FC5.src.rpm
也可以从www.kernel.org上下载到相应的内核源码,应该是2.6.15(我没有用过)。
3.编译内核源码:
#rpm –Uvh kernel-2.6.15-1.2054_FC5.src.rpm
# cd /usr/src/redhat/SPECS
#rpmbuild -bp --target $(uname -m) kernel- 2.6.spec
#cd /usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686 (有可能是i586我的是i686)
#cd /usr/src/kernels
# ln –s /usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686/ 2.6.15-1.2054_FC5-i686
# cd 2.6.15-1.2054_FC5-i686/
# cp configs/kernel-2.6.15-i686.config .config
修正Makefile
------------------------------------
#uname –r得到2.6.15-1.2054_FC5
那么就要将Makefile中的
EXTRAVERSION = -prep
换成
EXTRAVERSION = -1.2054_FC5
-------------------------------------
继续编译:
#make mrproper
#make oldconfig
#make (比较耗时,我用了一个多小时)
#make modules_install
到此我们要用的内核编译完成。
回:"Fedora 5安装的时候默认不带内核代码的,那影响驱动程序这些模块的编译和运行吗?"
Fedora 5安装的时候是默认不带内核代码的,所以学要些准备工作,具体的步骤:
http://blog.csdn.net/yiminglinux/archive/2006/04/19/668813.aspx
使用Fedora Core 5 (FC5)编译新的模块
1.确定安装了GCC与RPM相关的包。
2.安装相应的内核源代码,因为FC5本身没有提供相应的源码包在安装盘上,所以要在官方网站上下载,网址如下。
URL http://download.fedora.redhat.com/pub/fedora/linux/core/5/so urce/SRPMS/kernel-2.6.15-1.2054_FC5.src.rpm
也可以从www.kernel.org上下载到相应的内核源码,应该是2.6.15(我没有用过)。
3.编译内核源码:
#rpm –Uvh kernel-2.6.15-1.2054_FC5.src.rpm
# cd /usr/src/redhat/SPECS
#rpmbuild -bp --target $(uname -m) kernel- 2.6.spec
#cd /usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686 (有可能是i586我的是i686)
#cd /usr/src/kernels
# ln –s /usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686/ 2.6.15-1.2054_FC5-i686
# cd 2.6.15-1.2054_FC5-i686/
# cp configs/kernel-2.6.15-i686.config .config
修正Makefile
------------------------------------
#uname –r得到2.6.15-1.2054_FC5
那么就要将Makefile中的
EXTRAVERSION = -prep
换成
EXTRAVERSION = -1.2054_FC5
-------------------------------------
继续编译:
#make mrproper
#make oldconfig
#make (比较耗时,我用了一个多小时)
#make modules_install
到此我们要用的内核编译完成。