内核的编译安装

简介:

编译安装新内核
步骤:


1、下载到新的版本的内核

内核官方网站http://kernel.org/,在这里有各种版本的内核!直到现在内核的最新版本为3.2.7

2、配置新的内核,选定要使用的功能或模块,前面说到Linux采用的是单内核的设计模式,所以有些驱动或功能可以直接编译进内核,有些则可以编译为模块,而这些就是在这里进行配置的。

2.1 解压到特定目录下:/usr/src/
#tar xvf linux-2.6.28.10.tar.gz -C /usr/src/

#cd /usr/src/

这里我要编译的内核版本是2.6.28.10

2.2 这里还要将解压出来的目录linux-2.6.28.10创建一个linux软链接,一是约定俗成,二是方便以后我们以后在编译新内核,当然这里如果不想创建链接,也可以将其重命名为linux
法1:#ln -sv linux-2.6.28.10 linux    ---为linux-2.6.28.10创建软连接linux
法2:
#mv linux-2.6.28.10 linux        ---将linux-2.6.28.10重命名为linux

2.3 配置编译环境
#yum grouplist        ---查看Development Libraries,Development Tools这两个包组是否都安装,如果Development Libraries已经安装,Development Tools并未安装,但是此时Development Tools大部分都已经安装,因为Development Libraries安装时依赖于Development Tools,但如果Development Tools已经安装,Development Libraries并未安装,这时则需要安装Development Libraries

#yum groupinstall nogpgcheck "Development Libraries" -y 
       ---不验证签名信息直接回复y进行安装

2.4 配置内核(驱动、功能、支持...)
#cd /usr/src/linux
法1:(make menuconfig        ---打开配置选项菜单)
当打开时这里都是一些默认的选项,并不是完全根据我们的计算机的硬件配置所进行的配置,而这里大概有3000多项,稍微有一点选择错误,就有可能导致我们的内核编译失败,所以我们可以使用redhat之前给我们的预设的配置文件".config"
#cp /boot/config-2.6.18-164.el5 ./.config    ---将之前的内核配置文件config-2.6.18-164.el5复制到当前目录下并且重命名为.config
#make menuconfig    ---在Redhat给我们预设的配置基础上在做稍微的修改,是不是方便多了
注:在menuconfig中[]:表示不启用此项  [*]:表示直接编译进内核  [M]:表示编译为模块

法2:(#make xconfig     ---打开图形界面进行选择配置)
注:使用xconfig需要安装KDE Software Development,但是安装依赖于X Software Development,所以使用
#yum groupinstall nogpgcheck "KDE Software Development" -y
#make xconfig


法3:(#make gconfig)
注:使用gconfig需要安装GNOME Software Development,所以先
#yum groupinstall nogpgcheck "GNOME Software Development" -y
#make gconfig


法4(#make config)    ---这个将会遍历所有的配置选项,3000多项,你懂的,遍历下来很痛苦的,呵呵。

所以我们一般常用的就是法1、法2、法3

3、编译新内核
编译新内核这个过程是很漫长的,短则30分钟长则1个半小时,时间的长短,取决于所要编译的内核模块多少和机器的性能。
这里一般我们经常都是远程登录到Linux上,所以当我们这在编译内核时突然远程链接断开了,那么就前功尽弃了,还得重新来过,所以为了防止这种情况发生,我们使用screen
#which screen
如果存在screen
#screen            ---进入屏幕
#make            
---编译

如果不存在screen
#yum install screen
#screen            ---进入屏幕
#make           
 ---编译

注:Ctrl+a,d 离开屏幕
#screen -ls        ---查看打开的screen列表,每一个screen都有一个screenid
#screen -r screenid    
---打开指定的screen


4、安装
#make modules_install    ---安装模块
#make install    



扩展:
一、在已经编译过的内核源码基础重新编译:
#make clean        ---清理之前编译的选项
#make mrproper

上面的两个命令执行后.config会被删除
三、仅编译某个目录中的源代码:
#make SUBDIR=arch/
四、仅编译某个目录中的模块
#makke M=drivers/net/








本文转自 向阳草米奇 51CTO博客,原文链接:http://blog.51cto.com/grass51/790859,如需转载请自行联系原作者
目录
相关文章
|
1天前
|
Java Linux 开发工具
linux如何编译安装源码包软件
源码包软件是包含源代码的软件包,常见于Linux和BSD系统,如fcitx和Lumaqq。开源软件需满足源代码可见且有宽松许可,如GPL。安装源码包通常涉及解压、编译和安装步骤,使用`tar`命令解包,通过`./configure`, `make`, `make install`进行编译安装。软件源码允许定制和二次开发,但须遵循许可协议。安装前确保安装了必要的开发工具和库。对于perl和python程序,直接使用perl或python命令安装。推荐使用系统软件包管理工具如RPM、yum或apt进行管理,以简化流程。
8 0
|
7月前
|
Linux 编译器 C语言
Linux下编译安装最新版gcc
Linux下如何自行升级到最新版的gcc
130 0
|
Linux
CentOS 7 下编译安装 4.14 内核
CentOS 7 下编译安装 4.14 内核
303 1
CentOS 7 下编译安装 4.14 内核
|
Linux PHP
【Linux】安装swoole(编译安装 pcel安装)
【Linux】安装swoole(编译安装 pcel安装)
184 0
【Linux】安装swoole(编译安装 pcel安装)
|
Linux
CentOS 7下源码编译安装新版本内核
CentOS 7下源码编译安装新版本内核
1477 0
CentOS 7下源码编译安装新版本内核