Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

2.6内核的安装

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

第一部分,准备

  要使用新的内核首先当然要取得新内核的源码,内核的官方网站是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。它们是为内核开发人员与测试人员准备的,与我们的关系不大。

  make menuconfig (部分)选项说明

第一项 Code maturity level options (代码成熟度选项)

  按enter进入后选项如下

[*] Prompt for development and/or incomplete code/drivers
  默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.你应该选择它,因为有许多设备可能必需选择这个选项才能进行配置,实际上它是安全的。

[*] Select only drivers expected to compile cleanly
  选择这个选项你将不会看到一些已知的存在问题的驱动程序选项,默认的情况下也是选择的。如果你有设备没有找到驱动选项,你可以将这一项去掉,或许就可以找到相关驱动了,不过它可能是有BUG的。

[*] Select only drivers that don't need compile-time external firmware
  如果你不需要在内核对一些外部设备的固件作map支持就选择它,这也是默认选项。

第二项 General setup

  其中的选项如下

[*] Support for paging of anonymous memory
  这个选项将使你的内核支持虚拟内存,也就是让你的计算机好象拥有比实际内存更多 多的内存空间用来执行很大的程序。默认是选择的。

[*] System V IPC
  为进程提供通信机制,这将使系统中各进程间有交换信息与保持同步的能力。有些程序只有在选Y的情况下才能运行,所以不用考虑,这里一定要选。

[ ] BSD Process Accounting
  这里选择Y将会让内核为用户层的进程建立一个帐目(进程通过一个特殊的系统调用来通知内核),当程序退出时内核会将进程的相关信息记录到帐目文件中,主要包括进程的创建时间、 创建者,内存占用等信息。如果你需要就Y吧:)

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:高性能LINUX双效防火墙HOWTO   下一篇:U盘上的LINUX

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号