我们都知道Linux内核的版本是不断更新的,现在已经更新到3.2.7版本了,而我们用的内核可能是2.6系列版本,甚至更低的。那么如果我们想使用新的版本的Linux内核怎么办呢?那就要我们来编译安装新内核了,但是安装的内核不一定是越新越好的。下面列下安装新内核的大致步骤:
下面是以redhat为例来进行安装新内核的!
1、下载到要安装的新版本的Linux内核;
这点很重要,没有新版本的Linux内核,我们只能装空气了!呵呵,开个玩笑,大家都知道的。推荐一个下载linux内核的网站:www.kernel.org
这里我们下载的是2.6.28.10的版本,将其放在了root家目录下了!
2、解压下载好的Linux内核,并确定已经将所需的环境配置好;
- #tar xvf linux-2.6.28.10.tar.gz –C /usr/src
- #cd /usr/src
- #ln –sv linux-2.6.28.10 linux
解压的命令很简单,但是我们要注意的是:我们应该把内核解压到特定目录下,通常是/usr/src/目录中,并将解压的文件名改为linux(可以创建个软连接,建议这么做)。为什么呢?因为将来我们可能安装更新的版本,这是我们只需要将链接指向改一下就ok了!而且如果我们在将来编译安装驱动程序的时候,需要找到内核的源代码,而通常都会到/usr/src/目录下一个叫linux或redhat的目录,因此我们才需要将其解压到/usr/src这个特定目录,并且创建个软连接或者给解压的内核源码目录进行改名。
另外。我们要编译安装新内核,必须得有开发环境和开发库,因为它依赖开发环境和开发库。所以,我们必须保证我们应该装上相关的开发环境和开发库。这里我们使用yum来查看和安装需要的组件;
#yum grouplist:查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库;
#yum groupinstall “Development Libraries" "Development Tools":一般是安装这两个软件包组;
3、配置内核,选定要使用的功能或模块;
- #cd linux
- #make menuconfig :可以打开一个基于文本的窗口,在这个窗口上我们可以选择配
- 置内核的特性,开启或关闭某个功能,将某个功能编译进内核或编译成模块。
具体的配置选项可以搜索“金步国”这个人,他将所有的选项及介绍都翻译成中文了,可以去他博客看看。另外,还有几种可以对内核进行配置的命令,最后再说。
其中:
- [ ]:表示不启用此项;
- [*]:表示直接编译进内核;
- [M]:表示将功能或驱动编译成模块
4、编译新内核(这后面就像安装源码包格式的软件,就不多说了);
- #make
5、安装新内核;
- #make modules_install
- #make install
这里,我们一般是先安装内核模块的,然后再安装新内核。
补充:
一、配置内核的替代方法:
- 1、 #yum groupinstall "KDE Software Development"(图形)
- #make xconfig
- 2、 #yum groupinstall "GNOME Software Development"
- #make gconfig
这两种方法都需要先安装图形界面的软件包组,才能提供基于图形界面的配置方法。
- 3、 #make config :以文本的形式遍历整个选择,需要挨个进行选择。
二、在已经make过的内核源码基础重新编译:
#make clean
#make mrproper :.config文件会被清除;.config文件记录的是在配置内核时选择的功能或模块,在linux目录中,是个隐藏文件。另外,我们也可以将之前配置好的内核中的这个文件copy到要安装的新内核的目录中来,然后再进行配置,会省去不少的不必要的选项。
三、仅编译某个目录中的源代码
#make SUBDIR=arch/
四、仅编译某目录中的模块:
#make M=drivers/net/
编译内核只有多多练习才能熟练的掌握!
转载于:https://blog.51cto.com/rrliang/793095