|
发表于 2005-8-6 00:27:58
|
显示全部楼层
Post by 7dehao
从2.4升级到2.6版的内核是一个很繁琐的过程,主要是要满足2.6版内核安装所需的环境, 也就是说明文档中所提的那些软件的版本,如果系统中的软件版本不符合要求的话,那肯定是不能升级成功的。如果系统中的软件没有符合版本要求的话,就需要自己手动下载相应的版本来编译安装。问题在于安装这些软件时也会碰到软件的依赖问题,所以这里存在一个多重依赖的问题,是需要大家注意的,而这也就是升级最困难的部分,所有的依赖关系都必须满足。从实质上来说,从2.4升级到2.6只能说的比较繁复,而没有什么技术上的要求,相对于2.4版的内核而言,2.6,尤其是2.6.10以后的内核版本的编译都比较简单,而且编译的时候几乎没有什么出错的可能,当然在编译前,你还要打上很多补丁,这又是很繁的事情。个人以为,新手是应该尽量避免去做这种繁复的事情的。如果有这些精力的话,还不如学习安装gentoo或lfs,这样对学习更有积极的意义。
安装gentoo(从Stage1开始)和LFS的难度要比升级内核的难度大多了. 根据LFS书的说明, 如果你不能从内核2.4升级到2.6, 你就没有资格做LFS, 所以我现在先学习升级内核.
根据楼主的意思, 对于RedHat9.0, 从2.4升级到2.6好象不是很复杂. 第一步是保证升级所需要的软件包都达到要求的版本. module-init-tools工具包和mkinitrd程序包不用说了, 是一定要升级和安装的. 剩下的软家包我仔细查了一下, 在RedHat9.0系统(我的RedHat9.0软件包已经装得很全了)里有三个软件包没装: xfsprogs, pcmcia-cs(好象不用pcmcia的系统更本就不需要), oprofile. 还有四个软件包版本没有达到要求: jfsutils-1.0.17-6, quota-3.06-9, nfs-utils-1.0.1-2.9, procps-2.0.11-6. 可是楼主根本就没有提到这些事. 偶曾经升级过内核, 好象不做安装或升级这些包也能编译通过, 但我升级的内核始终有毛病, 不知道是配置有问题, 还是所需软件包没有达到要求?
第二步配置内核也是个大问题, 2.6的配置据说改动很大, 反正我用make oldconfig, 所有的都按回车(前一次编译的配置/安装系统时候的配置还是默认配置?), 编译出来的内核反正启动的时候出现了好几个Failure.
只要前两步都没有问题, 那么第三步编译内核, 是非常简单的, 基本没有出错的可能性.
还有一个问题就是在RedHat下可用rpm -qa检查所有通过rpm安装的软件包的版本号, 可是没有通过rpm安装的软件包怎么检查? 直接到/lib, /usr/lib去查library吗? 软件包好象不等于library吧? 还有就是检查library的dependency, 我记得有个命令可以查到, 可惜我忘了. |
|