当前位置:操作系统 > Unix/Linux >>

2.6内核的安装(一)

第一部分,准备

  要使用新的内核首先当然要取得新内核的源码,内核的官方网站是http://www.kernel.org 在上面可以得到最新的内核。2.6的更新是相当快的,你可以在命令行下使用finger @kernel.org命令来快速得到当前最新的内核列表。在这篇文章中我将以2.6.0为准。

  下载了内核源码之后,我们要使用tar jxvf linux-2.6.0.tar.bz2来提取源码,如果你下载的是以tgz结尾的压缩包就使用zxvf参数来解压。我强烈建议你不要使用 /usr/src/linux这个目录来存放源码,因为使用这个目录你需要手工在/usr/include目录下作一些符号链接,这实在不是一个好主意。所以我建议你为源码单独建一个目录,这里我们的目录是/src/linux-2.6.0。

  要编译与正常运行新的内核你需要升级一些软件包,这些信息在源码目录下的Documentation/Changes文件中,请根据你的实际情况选择升级。这其中我强调一下你应该升级Module-Init-Tools,不要被你当前系统中depmod -V输出的版本号迷惑(在RH9中它的输出是2.4.22,感觉好象要比Changes中所要求的要高,实际上它们使用不同的版本规则)。新的 Module-Init-Tools在下面的网址中取得:http: //www.kernel.org/pub/linux/kernel/people/rusty/modules/

  我使用的是0.9.14。如果你下载的是源码使用如下步骤进行编译

  ./configure --prefix=/

  make moveold

  #这一步会将你以前的insmod, modprobe, rmmod和 lsmod

  #重命名为insmod.old, modprobe.old, rmmod.old lsmod.old

  make

  make install

  然后使用 ./generate-modprobe.conf /etc/modprobe.conf (将原来的/etc/modules.conf转换到/etc/modprobe.conf )

  如果你使用devfs系统你还需要复制modprobe.devfs 到/etc目录下。

  当你升级完相关软件包之后,准备工作就算完成了,下面我们将进入到编译阶段。

  第二部分 编译

  2.6的build系统与2.4有很大的不同,实际上是更加简单与方便了。第一步我们要进入源码目录

  cd /src/linux-2.6.0

  make mrproper

  make menuconfig (基于文本选单的配置界面)

  在闪过几行字之后就出现了如图的界面,在界面的上部是配置工作的使用说明,使用箭头键在各选项间移动,使用enter进入下一层菜单,每个选项上的高亮字母是键盘快捷方式,使用它可以快速的到达你想设置的菜单项上。在括号中按y将这个项目编译进内核中,按M编译为模块,按N为不选择,按esc将返回到上层菜单。 GUI工具的基本概念也与之类似我们就不详细讨论了。在后面我将主要使用menuconfig来设置各个选项,选项的次序以它为准,其它工具中各选项也基本与之对应。切记把声卡的模块编译进内核不然无法发声!!

  编译和安装内核

  #make

  #make install

  编译和安装模块

  #make modules(编译选择的模块)

  #make modules_install(将编译后的模块转移到系统标准位置)

  完成后reboot就会发现启动选项就会多出一个2.6内核的选项。

  介绍一下新内核中的图形界面配置工具

  新内核中有两个GUI配置工具,过去的make xconfig现在是一个使用QT库作为界面方案的配置工具了,所以你要使用它必需先安装QT库。一般的发行版光盘中都包含了这个软件包。

  另一个是make gconfig这是一个使用GTK库作为界面方案的工具,同样你要使用它就要先安装GTK库。这两个工具与原来的GUI工具在界面上有很大的变化,更加符合一般图形界面程序的使用习惯。

  而传统的控制台配置工具menuconfig则没什么太大的变化基本上保持了原来的样子,不喜欢花里糊哨的GUI工具的兄弟还是用这个吧:)

  在2.6中还添加了几个以调试为目的的make选项,它们是allyesconfig、allnoconfig、allmodconfig分别表示将所有选项加载为y、将所有选项加载为n、将所有选项加载为m。它们是为内核开发人员与测试人员准备的,与我们的关系不大。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,