10.7. 迁移到 Linux 2.2.x 内核

Linux 内核 2.2.0 于 1999 年 1 月 25 日发布,带来了许多新功能、性能增强和硬件支持。任何现有的 Linux 系统都可以使用这些新内核进行升级,方式与 第 10.4 节 中描述的方式大致相同(但有一些注意事项)。

本节将介绍如何将您的 Red Hat 系统升级到新内核。由于 Red Hat 6.0(及更高版本)默认已附带新内核和支持软件包,因此本节仅对仍在使用早期版本(如 5.2)的用户有用。一旦我相信大多数用户已迁移到 6.0 及更高版本,我可能会从未来版本的文档中删除本节。

警告

警告!如果您决定升级旧系统以支持新内核,请注意,由于该过程涉及许多软件包升级,因此可能会出现严重错误。与往常一样,请准备好最新的备份,以防万一出现问题。如果您不熟悉使用 RPM 升级文件以及编译内核,那么您可能希望升级到 Red Hat 6.1。

您可以选择升级到 Red Hat 提供的 stock kernel,或者通过编译自定义内核进行升级。我建议首先使用 stock kernel 启动,然后在以后像往常一样构建自定义内核(有关详细信息,请参阅第 10.5 节)。

为了使用最新的内核,首先必须升级到最新的实用程序和库。Red Hat 已经确定了哪些软件包需要升级以支持最新内核,并将相应的 RPM 文件放在其 FTP 站点上,地址为 ftp://ftp.redhat.com/redhat/updates/5.2/kernel-2.2/i386/(适用于 i386 平台上的 Red Hat 5.2 用户)。

一个非常好的网页,详细介绍了迁移到 2.2.x 所需的适当系统工具,网址为 http://www-stu.calvin.edu/~clug/users/jnieho38/goto22.html;我将尝试在下面总结信息(标有 ``**'' 开头的项目表示您很可能需要为 Red Hat 5.2 升级该项目;未标示的项目可能没问题,但也值得检查)。

您应该根据需要下载并使用 RPM 升级任何软件包(有关如何使用 RPM 的详细信息,请参阅第 10.1 节)。

注意

注意:升级到新的 ``modutils'' 软件包将导致模块不再为旧的 2.0.x 内核工作!因此,在您将新内核安装到 ``/usr/src/linux''.

之后,请勿升级此软件包。

rpm -Uvh kernel-source*.rpm kernel-headers*.rpm

现在新的内核源代码已经安装完成,升级您的 modutils 软件包应该是安全的。但是,新内核不再使用 ``kerneld'' 模块来按需加载内核模块。因此,您应该在更新 modutils 之前禁用此模块。要禁用 kerneld 并升级 modutils 软件包,请以 "root" 身份键入以下命令

/sbin/chkconfig kerneld off
/etc/rc.d/init.d/kerneld stop
rpm -Uvh modutils*.rpm

现在您应该能够像往常一样配置、编译和安装您的 2.2 内核(有关详细信息,请参阅第 10.6 节)。您可能会惊讶地发现有大量新的配置设置可用。请花时间阅读您不熟悉的任何选项的帮助文本!

如果一切顺利,下次启动系统时,您将运行最新和最强大的 Linux 内核版本!

有关这些程序的更详细信息,请访问 Red Hat 网站 https://#/corp/support/docs/kernel-2.2/kernel2.2-upgrade.html