我们都知道Linux内核的版本是不断更新的,现在已经更新到3.2.7版本了,而我们用的内核可能是2.6系列版本,甚至更低的。那么如果我们想使用新的版本的Linux内核怎么办呢?那就要我们来编译安装新内核了,但是安装的内核不一定是越新越好的。下面列下安装新内核的大致步骤:

下面是以redhat为例来进行安装新内核的!

1、下载到要安装的新版本的Linux内核;

这点很重要,没有新版本的Linux内核,我们只能装空气了!呵呵,开个玩笑,大家都知道的。推荐一个下载linux内核的网站:www.kernel.org

这里我们下载的是2.6.28.10的版本,将其放在了root家目录下了!

2、解压下载好的Linux内核,并确定已经将所需的环境配置好;

 
  
  1. #tar xvf linux-2.6.28.10.tar.gz –C /usr/src 
  2.  
  3. #cd /usr/src 
  4.  
  5. #ln –sv linux-2.6.28.10 linux  

解压的命令很简单,但是我们要注意的是:我们应该把内核解压到特定目录下,通常是/usr/src/目录中,并将解压的文件名改为linux(可以创建个软连接,建议这么做)。为什么呢?因为将来我们可能安装更新的版本,这是我们只需要将链接指向改一下就ok了!而且如果我们在将来编译安装驱动程序的时候,需要找到内核的源代码,而通常都会到/usr/src/目录下一个叫linuxredhat的目录,因此我们才需要将其解压到/usr/src这个特定目录,并且创建个软连接或者给解压的内核源码目录进行改名。

另外。我们要编译安装新内核,必须得有开发环境和开发库,因为它依赖开发环境和开发库。所以,我们必须保证我们应该装上相关的开发环境和开发库。这里我们使用yum来查看和安装需要的组件;

#yum grouplist:查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库;

#yum groupinstall “Development Libraries" "Development Tools":一般是安装这两个软件包组;

3、配置内核,选定要使用的功能或模块; 

 
  
  1. #cd linux 
  2.  
  3. #make menuconfig  :可以打开一个基于文本的窗口,在这个窗口上我们可以选择配
  4. 置内核的特性,开启或关闭某个功能,将某个功能编译进内核或编译成模块。

具体的配置选项可以搜索“金步国”这个人,他将所有的选项及介绍都翻译成中文了,可以去他博客看看。另外,还有几种可以对内核进行配置的命令,最后再说。

其中: 

 
  
  1. [ ]:表示不启用此项; 
  2.  
  3. [*]:表示直接编译进内核; 
  4.  
  5. [M]:表示将功能或驱动编译成模块  

4、编译新内核(这后面就像安装源码包格式的软件,就不多说了); 

 
  
  1. #make 

5、安装新内核; 

 
  
  1. #make modules_install 
  2.  
  3. #make install  

这里,我们一般是先安装内核模块的,然后再安装新内核。

补充:

一、配置内核的替代方法: 

 
  
  1. 1、 #yum groupinstall "KDE Software Development"(图形) 

  2. #make xconfig 
  3.  
  4. 2、 #yum groupinstall "GNOME Software Development" 
  5.  
  6. #make gconfig 
 

这两种方法都需要先安装图形界面的软件包组,才能提供基于图形界面的配置方法。 

 
  
  1. 3、 #make config  :以文本的形式遍历整个选择,需要挨个进行选择。 

二、在已经make过的内核源码基础重新编译:

#make clean

#make mrproper     :.config文件会被清除;.config文件记录的是在配置内核时选择的功能或模块,在linux目录中,是个隐藏文件。另外,我们也可以将之前配置好的内核中的这个文件copy到要安装的新内核的目录中来,然后再进行配置,会省去不少的不必要的选项。

三、仅编译某个目录中的源代码

#make SUBDIR=arch/

四、仅编译某目录中的模块:

#make M=drivers/net/

编译内核只有多多练习才能熟练的掌握!