安装.src.rpm软件包和安装centos内核源代码

原创 2013年12月01日 20:48:21


摘要:在进行内核开发或者调试的时候,经常需要编译驱动,或者重新编译发行版内核或者内核中的某个软件。那么,我们应该从哪里取得发行版的内核源文件又该如何安装这些内核源文件呢?本文主要讲解了centos内核源文件的安装,附带讲解了一般src.rpm包的安装。

一、一般src.rpm包的安装

一般有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时需要进行编译。这类软件包有两种安装方法:

方法一: 
1. 执行rpm -i your-package.src.rpm 
2. cd /usr/src/redhat/SPECS 
3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件(bp的意思是执行spces文件之前的部分,通常情况下,这部分工作是执行%prep阶段的内容) 
4. cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录(工作目录) 
5. ./configure 这一步和编译普通的源码软件一样,可以加上参数 
6. make 
7. make install

方法二: 
1. 执行rpm -i>参看centos下软件包的制作)
2. cd /usr/src/redhat/SPECS (前两步和方法一相同) 
3. rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件(bb的意思是根据specs文件的配置,构建一个二进制包)

这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等) 在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。执行:

rpm -i new-package.rpm即可安装完成。


二、内核源文件.src.rpm包的安装


1)有时候,我们需要获得内核源文件(不是原生态的内核源文件而是发行版的内核源文件)。首先,我们需要到发行版的软件源去下载对应内核的软件包:

kernel-2.6.32-279.el6.src.rpm


2)接着,运行命令rpm -ivh kernel-2.6.32-279.el6.src.rpm。此时,对应的内核源文件并没有展开到相应的目录下面,而是将这个rpm包展开到/root/rpmbuild/SOURCE目录下面。


3)解压/root/rpmbuild/SOURCE对应目录下面的linux-2.6.32-279.el6.tar.bz2,即可得到内核头文件


三、获得linux不同发行版的内核源码

1)从对应的安装光盘获取:/cdrom/Pakages/ kernel-devel-2.6.xx-xx.rpm

2)从相应发行版的站点获取:http://vault.centos.org/6.4/updates/Source/SPackages/


四、几种具体的需求:


1)如果你需要编译一个内核的驱动程序模块,很大机会你并不是真的需要完整的内核源代码。你可能只需要kernel-devel组件。(然而,假若你肯定须要完整的源代码目录树,请遁从第二部份的指示。)通常情况下,这个kernel-devel只是包含相应的头文件和makefile文件。


2)获得完整版的linux发行版内核源文件

http://vault.centos.org/6.4/updates/Source/SPackages/

可以直接进行下载,然后按照第二部分的介绍进行安装。具体,可以参考这里,把它们制作成一般的rpm包,然后安装:http://wiki.centos.org/zh/HowTos/I_need_the_Kernel_Source


五、说明:

kernel devel与kernel source的区别


        区别:kernel-devel包只包含用于内核开发环境所需的内核头文件以及Makefile,而kernel-souce包含所有内核源代码。
如果仅仅是用于你自己编写的模块开发的话,因为只需引用相应的内核头文件,所以只有devel包即可,如果你要修改现有的内核源代码并重新编译,那必须是kernel-souce。

        kernel-souce在RH某些版本之后不再附带在发行版中了,必须自己通过kernel-XXX.src.rpm做出来。

        kernel-devel是用做内核一般开发的,比如编写内核模块,原则上,可以不需要内核的原代码。kernel则是专指内核本身的开发,因此需要内核的原代码。 

       关于kernel source的有kernel和kernel-devel两个rpm,其中kernel rpm包含源文件和头文件(就像2.4下的kernel-source rpm),而kernel-devel则主要是头文件。


Linux 安装.src.rpm源码包的方法

原文地址::http://www.cnblogs.com/einyboy/archive/2012/09/13/2683015.html 方法一:以setarch-1.3-1...
  • xqhrs232
  • xqhrs232
  • 2017年03月08日 14:03
  • 406

Linux上如何安装 src.rpm文件

 安装.src.rpm有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时需要进行编译。这类软件包有两种安装方法: 方法一: 1. 执行rpm -i your-packa...
  • russle
  • russle
  • 2009年11月18日 13:49
  • 5850

CentOS 安装 *.src.rpm

安装rpm build工具 yum install rpm* rpm-build rpmdev* 以安装oracle-validated-1.1.0-21.el5.src.rpm为例 1...
  • ZHAOXUSHENG
  • ZHAOXUSHENG
  • 2017年06月03日 18:27
  • 547

kernelRPM包安装与制作

1   KernelRPM包制作与安装 内核只有通过以rpm包的形式才能更广泛的发布给所有用户进行自由安装,否则只是在自己本机进行了编译安装,其它的用户是不能使用你的内核的,rpm包就像window...
  • u011013137
  • u011013137
  • 2013年06月14日 10:29
  • 1382

src.rpm包要如何安装?

今天下载东西的时候下到个后缀名为src.rpm的文件当时没正么留心,还是按照rpm的方法来安装 然后提示出错查资料后知道 这类文件的安装有一点点不同可以使用: 方法1:Redhat 9或mandrak...
  • zhangjianying
  • zhangjianying
  • 2006年05月02日 17:34
  • 6567

Linux学习7_*.src.rpm包与*.tar.gz、*.rpm包的区别

1. 用 rpm -ivh *.src.rpm 命令来安装,不会像二进制的 rpm软件包那样安装程序及其数据,而是向/usr/src/redhat(不同的发行版可能稍有不同)/下的SOURCE、SPE...
  • wang_zhenwei
  • wang_zhenwei
  • 2015年09月15日 10:14
  • 1519

解压.src.rpm源码

1. 用rpm安装,然后在/usr/src/redhat/SOURCES就会有一个tar包 2. 用rpm2cpio *.src.rpm|cpio -iv命令,直接在本目录下产生出tar包...
  • peter_cloud
  • peter_cloud
  • 2012年03月12日 11:23
  • 6020

CentOS7.1 下RPMBUILD环境配置及内核rpm包作成

CentOS7.1 下RPMBUILD环境配置 1.安装rpmbuild rpmbuild --version确认rpmbuild是否安装,如果未安装则通过yum install rpm-build...
  • zxlld
  • zxlld
  • 2016年07月05日 10:48
  • 3242

centos7下的rpmbuild初次使用~~~

看鸟哥的私房菜也有很长一段时间了,终于到了怎么安装程序的地方了,记录下 我是用root使用rpmbuild这个命令的,鸟哥的系统的工作目录是在/usr/src/redhat/ 我的系统版本是cen...
  • scchary
  • scchary
  • 2015年04月14日 11:41
  • 1657

centOS 6.4 内核源代码安装

CentOS 6.4 在默认情况下,没有指定源代码仓库。 如果想方便地下载 CentOS 6.4 的内核源代码,可按如下操作进行。   1. 进入仓库的目录 cd /etc/yum.repos.d/ ...
  • chenyoufu123
  • chenyoufu123
  • 2013年03月20日 16:28
  • 10547
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:安装.src.rpm软件包和安装centos内核源代码
举报原因:
原因补充:

(最多只允许输入30个字)