cnhnln 发表于 2004-5-10 23:09:01

升级内核,感受Linux新时空

升级内核,感受Linux新时空
作者:余海发 发文时间:2004.05.10

Linux 2.6内核的维护人Andrew Morton在发布2.6.0内核时提到,2.6.0内核能在服务器级的机器上运行得很好,但在桌面电脑和笔记本电脑中可能会碰到一些麻烦。但无论如何,2.6版内核已经正式推出了,接下来各种Linux厂商和组织,都会逐步升级到2.6版内核。虽然出于稳定性、成熟度的考虑,这个变化会是渐进的,但是一些有能力的个人用户完全可以先行尝试2.6版内核带来的种种新特性。

初试Linux 2.6的第一击就是升级内核。

步骤一:下载新内核

从kernel.org下载2.6版内核的完整源代码压缩包:

# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.0.tar.bz2



下载源代码的同时,最好也下载对应的GnuPG签名文件,以验证所下载的源代码是否安全,防止源代码被加入恶意代码。详情可参考http://www.kernel.org/signature.html上的介绍

步骤二:阅读文档

不熟悉如何编译内核的读者,可以先阅读Linux Kernel HOWTO(http://www.linux.org/docs/ldp/howto/Kernel-HOWTO/)。编译过内核的读者则要注意,2.6版内核的编译方法有所改进,这在内核源代码所附的Readme文件中有具体说明。所以在解开内核源代码包后,首先要做的是阅读Readme等帮助文件。

步骤三:配置新内核

在2.6版内核中,内核编译系统得到新的改进,从而有效地加快了编译速度。同时,以前用Tk/Tcl实现的图形化内核配置方式“make xconfig”,在2.6版内核中被使用Qt库的新的“make xconfig”方式所取代。

2.6版内核还提供了另一种使用Gtk库的图形化内核配置方式“make gconfig”,实际上它就像是“make xconfig”的克隆,其外观和操作方式与“make xconfig”完全一致。

以上两种图形化内核配置方式运行在X-Window中,与以前相比更加方便易用。如果是在字符界面配置内核,仍然使用“make config”、“make menuconfig”、“make oldconfig”。其用法和以前的版本完全一样。很明显。“make xconfig”的配置方式更为直观易用,所以在安装有X-Window的情况下,建议初学者使用“make xconfig”进行内核配置。

对于普通PC用户,特别是使用Linux作为桌面操作系统的用户来说,升级内核并不是盲目地选择所有新特性。因为许多针对高端服务器的特性,普通用户是无法享受到的,反而会使内核变大,更加容易在编译中产生错误。所以,升级的重点是实现2.6版内核中个人用户可以享受到的相关特性,比如抢占式内核、支持ALSA、改进的NTFS驱动、支持更多主流设备等。在正式开始编译和使用新内核之前,要做好数据备份、启动盘等准备工作。这里总结一下配置2.6版内核要注意的几个问题,供大家借鉴参考:

1.选择2.6版内核中个人用户可以享受到的相关特性。

2.用不到的驱动要尽可能地删除,多余的驱动会使内核变大,影响速度。

3.对于属于“development”、“experimental”或“debugging”的选项,一般选择“N”,这样生成的内核将更加稳定。

4.对于内核配置的局部修改可使用“make oldconfig”,这样速度会快许多。

5.如果使用了modules方式来支持SCSI或RAID等设备,需要选“RAM Disk support”和“Initial RAM disk”,并生成initrd.img,以便在启动时载入相关驱动。

6.注意阅读联机帮助,弄清楚选项的正确含义后再进行选择。

在对2.6版内核的配置过程中会发现许多新增或改写的功能,比如在对“sound”的支持中包括了ALSA和OSS两种声音系统。

ALSA是更为先进的声音系统,对于拥有好声卡和好音箱的用户,此项应为必选。

另外,在“File System”的选项“DOS/FAT/NT Filesystems”的子选项“NTFS file system support”中,对NTFS的写操作已经没有以前版本中的危险标志了。这是一个很贴心的改进,毕竟以前只能读而不能写,实在是太不方便了。

2.6版内核还新增了“Enable different security models”选项,这也表示出Linux开发者们对操作系统安全的重视。

在2.6版内核的配置过程中,还增加了许多的新硬件,比如2.4版内核中没包含Promise IDE RAID的驱动,需要用厂家提供的驱动软盘进行安装,现在则不必了。类似的硬件支持还有很多。

步骤四:建立新内核

在完成内核配置后,运行“make bzImage”来编译产生新内核。这一点与以前2.4版内核的编译过程相比,省略了“make dep”这一步,从而更简洁。“make bzImage”需要一些时间,但感觉比编译2.4版内核要快许多。同时,编译过程中的屏幕信息也简洁了许多。

通常情况下都选择了“Loadable module support”的选项,所以“make modules”和“make modules_install”也需要一些时间,具体时间视所选择modules的多少而定。

步骤五:启用新内核

内核和modules都编译完成后,就要修改GRUB或LILO来启用新内核。这一步和以往版本中的操作一样,方法有很多种,可以手动复制Symtem.map、bzImage到对应目录(如/boot),然后修改引导程序的配置。比如:

# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.0
# cp System.map /boot/System.map-2.6.0
# cd /boot
# rm System.map
# ln -s System.map-lvs System.map
# rm vmlinuz
# ln -s vmlinuz-2.6.0 vmlinuz
# vi /etc/grub.conf
# reboot



也可以使用“make install”来自动加入新内核。比如:

# make install
# vi /etc/grub.conf
# reboot



关键在于要理解Linux引导启动过程的工作原理。

重新启动后,选择新内核,新内核将解压、启动、运行直至出现登录界面,进入系统。使用uname命令查看所使用的内核版本。

试用感受

使用2.6版新内核启动后,可以开始尝试内核配置中所选用的各种特性了,比如ASLA。由于是第一次使用ALSA,需要去http://www.alsa-project.org/下载新的alsa-lib和alsa-utils,然后进行安装。

以前的sndconfig针对OSS声音系统,ALSA则使用alsaconf来配置声卡,使用alsamixer可以调整音量。获得更详细的信息可以访问http://www.alsa-project.org/。

其它特性也可一一尝试,这里不再赘述。升级到2.6版内核后,绝大多数服务和应用程序都没有受影响,但也有一些程序如VMware和内核版本有关,所以会有所影响。在使用X-Window方面,使用新内核感觉速度略有提升。这大概要归功于使用了可抢占式内核,它允许内核在执行任务时被打断,这样用户任务可以不必等待内核完成自身的任务就得到系统的响应,使得用户的交互式操作响应速度大大提高,从而令用户感觉速度提升。

doufan 发表于 2004-5-13 09:20:47

在试
页: [1]
查看完整版本: 升级内核,感受Linux新时空