为了确保内核的完整性和对它所支持的硬件的兼容性,Red Hat Linux 内核由 Red Hat 内核小组定制建构。在内核被 Red Hat 发行之前,它一定要通过一系列严格的质量保证测试。
Red Hat Linux 内核使用 RPM 格式打包,因而它们易于升级和校验。例如,由 Red Hat, Inc. 发行的 kernel RPM 软件包被安装后, initrd 映像会被创建;这样,在你安装了不同的内核后,你就没必要使用 mkinitrd 命令。如果你安装了 GRUB 或 LILO 的话,它还会修改引导装载程序的配置文件来包括这个新内核。
本章仅讨论在 x86 系统上升级内核的必要步骤。
警告: 建构你自行定制的内核是不被 Red Hat Linux 安装支持组支持的。关于从源码中建构定制内核的详情,请参阅 附录 A 。
30.1. 2.4 版本的内核Red Hat Linux 随带定制的 2.4 内核,它包括以下功能:
内核源码的目录是 /usr/src/linux-2.4/ ,而不是 /usr/src/linux/ 。
对 ext3 文件系统的支持。
对多重处理器(SMP)的支持。
对 USB 的支持。
对 IEEE 1394 设备(又称 FireWire ?)的初步支持。
30.2. 准备升级在你升级内核之前,你应该先采取几项预防措施。第一步是确定你有一张适用于你的系统的可运行的引导盘以防万一出现问题。如果引导装载程序没有被正确配置来引导新内核,除非你有引导盘,否则就无法引导系统。
要创建引导盘,在 shell 提示下登录为根用户,然后键入以下命令:
/sbin/mkbootdisk `uname -r`窍门:请参考 mkbootdisk 的说明书页(man)来阅读更多选项。
在继续前,使用引导盘来重新引导你的机器以校验该软盘的可运行性。
但愿你不必使用引导盘,但是你应该把它存放在一个安全的地方以防万一。
要判定你已安装了哪些内核软件包,在 shell 提示下执行下面的命令:
rpm -qa grep kernel依据你执行的安装类型而定(你的版本号码和软件包可能不同),该命令的输出会包括某些或全部在下面列出的软件包:
kernel-2.4.20-2.47.1 kernel-debug-2.4.20-2.47.1 kernel-source-2.4.20-2.47.1 kernel-doc-2.4.20-2.47.1 kernel-pcmcia-cs-3.1.31-13 kernel-smp-2.4.20-2.47.1从输出中,你可以判定你需要下载哪些软件包来执行内核升级。对于单处理器系统而言,只有 kernel 软件包是必需的。
如果你的计算机不只有一个处理器,你需要包括支持多处理器的 kernel-smp 软件包。强烈建议你仍安装 kernel 软件包,以防万一多处理器内核不能在你的系统中正确运行。
[1] [2] [3] 下一页
如果你的计算机的内存超过了 4GB,你必须安装 kernel-bigmem 软件包才能使系统使用多于 4GB 的内存。强烈建议你仍旧安装 kernel 软件包以用于调试。 kernel-bigmem 软件包仅为 i686 体系建构。
如果你需要 PCMCIA 支持(例如在便携电脑上), kernel-pcmcia-cs 软件包就必不可少。
除非你想重新编译内核,或把系统用于内核开发,你不需要 kernel-source 软件包。
kernel-doc 软件包包括内核开发文档,它不是必需的。如果你的系统被用于内核开发,则推荐你安装它。
kernel-util 软件包包括能够用来控制内核或系统硬件的工具程序,它也不是必需的。
Red Hat 建构的内核为不同的 x86 版本做了优化。选项有:用于 AMD Athlon ? 和 AMD Duron ? 系统的 athlon ;用于 Intel ? Pentium ? II、 Intel ? Pentium ? III、和 Intel ? Pentium ? 4 系统的 i686 ;用于 Intel ? Pentium ? 和 AMD K6 ? 系统的 i586 。如果你不知道你的 x86 系统的版本,使用为 i386 版本建构的内核;它是为所有基于 x86 的系统建构的。
RPM 软件包的 x86 版本被包括在文件名中。例如: kernel-2.4.20-2.47.1.athlon.rpm 是为AMD Athlon ? 和 AMD Duron ? 系统优化的, kernel-2.4.20-2.47.1.i686.rpm 是为 Intel ? Pentium ? II、 Intel ? Pentium ? III、和 Intel ? Pentium ? 4 系统优化的。在你判定了软件包之后,你需要升级 内核,为 kernel 、 kernel-smp 、和 kernel-bigmem 软件包选择正确的体系。其它软件包使用 i386 版本。
30.3. 下载升级了的内核要判定是否有可用于你的系统的升级内核,方法有好几种。
进入 http://www.redhat.com/apps/support/errata/ 网站,选择你使用的 Red Hat Linux 版本,然后查看它的勘误。内核勘误通常在 安全顾问(Security Advisories) 部分下。从勘误列表中 点击内核勘误来查看它的详细勘误报告。在勘误报告中,有一个需要的 RPM 列表,以及从 Red Hat FTP 站点下载它们的链接。你还可以从 Red Hat FTP 的 镜像站点中下载它们。镜像站点的列表在 http://www.redhat.com/download/mirror.Html 中。
使用 Red Hat 网络来下载内核 RPM 软件包并安装它们。Red Hat 网络能够下载最新的内核、升级系统上的内核、如果必要,创建初始 RAM 映像,并配置引导装载程序来载入新内核。要获取更多信息,请参阅 http://www.redhat.com/docs/manuals/RHNetwork/ 上的 Red Hat 网络 User Reference Guide 。
如果你从 Red Hat Linux 的勘误网页上下载了 RPM 软件包,或只使用了 Red Hat 网络来下载软件包,继续阅读 第 30.4 节 。如果你使用了 Red Hat 网络来下载并安装更新了的内核,遵循 第 30.5 节 和 第 30.6 节 中的说明。只不过,不要把内核改成默认引导项,因为 Red Hat 网络会自动把默认内核改成最新版本。
30.4. 执行升级检索到所有必要的软件包后,你就可以开始升级现存内核了。在 shell 提示下登录为根用户,转换到包含内核 RPM 软件包的目录中,遵循以下步骤:
重要:强烈建议你保留旧内核,以防万一新内核出现问题。
使用 rpm 命令的 -i 选项来保留就内核。如果你使用了 -U 选项来升级 kernel 软件包,它会覆盖当前安装了的内核。该命令为(内核版本和 x86 版本会有所不同):
rpm -ivh kernel-2.4.20-2.47.1.i386.rpm如果系统是多处理器系统,还需安装 kernel-smp 软件包(内核版本和 x86 版本会有所不同):
rpm -ivh kernel-smp-2.4.20-2.47.1.i386.rpm
上一页 [1] [2] [3] 下一页
如果系统是基于 i686 的,并包含超过 4GB 的内存,还需安装为 i686 体系建构的 kernel-bigmem 软件包(内核版本和 x86 版本会有所不同):
如果你打算升级 kernel-source 、 kernel-docs 、或 kernel-utils 软件包,你可能不需要保留老版本。使用下面的命令来升级这些软件包(版本会有所不同):
rpm -Uvh kernel-source-2.4.20-2.47.1.i386.rpm rpm -Uvh kernel-docs-2.4.20-2.47.1.i386.rpm rpm -Uvh kernel-utils-2.4.20-2.47.1.i386.rpm(出处:http://www.sheup.com)
(出处:http://www.sheup.com/)