RedHat5.3 升级内核到2.6.33 版本

本文档记录了在RedHat5.3上将内核升级到2.6.33的全过程,包括下载最新内核源码、编译、配置、解决升级后的警告和问题,如iptables防火墙和蓝牙服务无法启动等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前尝试过将系统升级到2.6.31,结果失败了,由于工作太紧张,也没有去继续尝试,最近的时间稍微有些空,就又想起来这事情了。到www.kernel.org看了下,最新的内核版本都到2.6.33了,就打算直接升级2.6.33了。

一、环境

使用的Vmware安装装的RedHat5.3,下面都是使用的root用户进行操作

#uname -r

2.6.18-53.el5

二、升级过程

1)         下载内核

升级之前到www.kernel.org看看有没有最新的内核,目前为止最新的是2.6.33,下载地址是:http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.tar.bz2

2)         linux-2.6.33.tar.bz2拷贝到/usr/local/src目录下面,使用下面的命令解压,得到文件夹linux-2.6.33

tar xjvf linux-2.6.33.tar.bz2

3)         make distclean

假如是第一次编译,这一步骤可以省掉的。

4)         复制原有的config文件到linux-2.6.33目录

#cd /usr/local/src/linux-2.6.33

# cp /boot/config-2.6.18-53.el5  .config

5)         make menuconfig

选择Load an Alternate Configuration File,导入.config文件,更加自己的需要添加功能或者进行精简。

注:内核配置有两种方法,一种是直接置入内核* ;另一种是编成模块M ;两种方法各有优点;直接编入内核的,比如设备的启动,不再需要加载模块的这一过程了;而编译成模块,则需要加载设备的内核支持的模块;但直接把所有的东西都编入内核也不是可行的,内核体积会变大,系统负载也会过重。我们编内核时最好把极为重要的编入内核;其它的如果您不明白的,最好用默认[3]

修改完毕选择Save an Alternate Configuration File,然后退出配置。 

6)         修改.config文件

.config文件搜索CONFIG_SYSFS_DEPRECATED_V2,会发现# CONFIG_SYSFS_DEPRECATED_V2 is not set这一行,将该行修改为CONFIG_SYSFS_DEPRECATED_V2=y

假如不修改该行,在升级重新启动后会报如下的错,导致启动失败

Volume group "VolGroup00" not found

Unalbe to access resume device (/dev/VolGroup00/LogVol00)

mount: could not find filesystem '/dev/root'

setuproot:moving /dev failed: No such file or directory

setuproot:error mounting /proc: No such file or directory

setuproot:error mounting /sys: No such file or directory

switchroot: mount failed: No such file or directory

Kernel panic - not syncing:Attempted to kill init!

7)         编译内核

#make all

大概需要半个小时到一个小时的时间。

8)         #make modules_install

9)         #make install

这时候会出现3个警告[2]

WARNING: No module dm-mem-cache found for kernel 2.6.33, continuing anyway

WARNING: No module dm-message found for kernel 2.6.33, continuing anyway

WARNING: No module dm-raid45 found for kernel 2.6.33, continuing anyway

经过测试,这3个警告不会影响内核的升级,参考资料[2]中有相关的说明。

10)     修改initrd文件

假如在升级重启后会报的错误insmod: error inserting ‘/lib/dm-region-hash.ko’: –1 File exits,这是由于initrd里面的init中加载dm-region-hash.ko这个模块重复了,因此需要修改生成的initrd文件(不是所有的机器都会出现这个错),修改的方式如下[1],方法见参考资料1

a)         解压initrd

# cp /boot/initrd-2.6.33.img /tmp

# cd /tmp/

# ls

initrd-2.6.33.img

# mkdir newinitrd

# cd newinitrd/

# zcat ../initrd-2.6.33.img |cpio -i

# ls

bin  dev  etc  init  lib  proc  sbin  sys  sysroot

b)         编辑init,删掉重复的两行

echo "Loading dm-region-hash.ko module"

insmod /lib/dm-region-hash.ko

echo "Loading dm-region-hash.ko module"

insmod /lib/dm-region-hash.ko

c)         重新打包initrd

# find .|cpio -c -o > ../initrd

# cd ..

# gzip -9 < initrd > initrd-2.6.33.img

d)         initrd重新复制到/boot目录下

#cp initrd-2.6.33.img /boot

11)     重新启动

启动成功。

#uname –r

2.6.33

三、待解决问题

1)         Iptables启动失败

操作系统启动过程中出现下面的错误信息:

 

Applying ip6tables firewall rules: ip6tables-restore v1.3.5: ip6tables-restore:unable to initalizetable 'filter'

Error accurred at line: 3

Try "ip6tables-restore -h' or 'ip6tables-restore --help' for more information.

Applying iptables firewall rules: iptables-restore v1.3.5: iptables-restore:unable to initalizetable 'filter'

Error accurred at line: 3

Try "iptables-restore -h' or 'iptables-restore --help' for more information.

启动后尝试手动启动防火墙:

#service iptables status

防火墙已停

#service iptables start

正在卸载 Iiptables 模块:[确定]

应用 iptables 防火墙规则:iptables-restore v1.3.5: iptables-restore: unable to initializetable 'filter'

Error occurred at line: 3

Try `iptables-restore -h' or 'iptables-restore --help' for more information.

[失败]

2)         Hidd(Bluetooth HID daemon)启动失败

Starting hidd: Can't open HIDP control socket: Address family not supported by protocol  [FAILED]

# service hidd status

hidd 已死,但是 subsys 被锁

# service hidd start

正在启动 hiddCan't open HIDP control socket: Address family not supported by protocol

[失败]

四、说明

本人也是新手,第一次升级内核成功,很多具体的细节还不是很清楚,还有两个问题没有解决,由于升级过程中遇到不少麻烦,大家可能也会遇到这样的问题,就将这些信息分享出来,希望以上的升级过程能够给大家一些帮助,假如有什么疏漏和错误,或者大家对上面出现的问题有什么好的解决方法,希望大家不吝赐教。

                   下面的几篇文档给了我很大的帮助,谢谢!

邮箱:haifengwang1987#gmail.com

 

参考资料:

[1] 编译内核2.6.30遇到的问题与解决办法 http://blog.youkuaiyun.com/polisan/archive/2009/11/16/4818921.aspx

[2] Centos 升级内核 kernel 2.6.30 http://hi.baidu.com/rhca/blog/item/2be78c01bcf5d9df267fb5e7.html

[3] http://linux.chinaunix.net/bbs/viewthread.php?tid=1147827&page=1&extra=#pid7171483

红帽企业 Linux 5 世界领先的开源应用平台 在一个经过认证的平台上,红帽企业 Linux 可以为您提供以下选择: 应用 —— 数千种经过认证的 ISV 应用 部署 —— 包括独立或虚拟的服务器、云计算或软件应用 硬件 —— 来自世界领先硬件厂商的多种平台 它可以为 IT 部门提供前所未有的运营灵活性。并通过提供应用,帮助 ISV 获得前所未有的市场覆盖范围。一次认证,无限部署。在提供所有这些收益的同时,该产品还能够提供世界一流的性能、安全性、稳定性以及无与伦比的价值。这也是红帽成为最佳平台选择的原因。 Linux 自动化 红帽企业 Linux 是红帽 Linux 自动化战略的一个核心组件,该战略包含了能够随时随地运行任意应用所必需的 IT 环境的所有方面。该战略可以创建一个用于自动化的基础架构,包括虚拟化、身份管理、高可用性和性能功能。 消除采用障碍红帽企业 Linux 解决方案与其它红帽技术(例如 JBoss 中间件解决方案)相结合,可以提供简单、无风险的开源成本节约途径。该产品使用商业硬件。可以与现有的 UNIX 和 Windows 基础架构轻松实现协同工作。它可以部署您了解并信任的应用。并通过极高的服务器与管理费用比和桌面到大型机的一致性,降低系统管理成本。 消除经济约束通过使您的解决方案立足于随时随地可用的开源技术(从虚拟化管理程序到 SOA 中间件再到最终用户应用),我们能够保证您可以充分利用您的 IT 预算。无论各单一解决方案厂商向您宣称他们的产品的成本是多少,总体成本才是真正的问题所在。而开源解决方案可以提供更低的总体成本: 降低投资费用和运营费用; 消除厂商锁定——使客户在自己的控制范围之内; 经过验证的、卓越的产品质量——提高安全性,提高性能; 技术的领先优势——由行业范围内的协作推动; 灵活性——按照您的需求(内容、时间和方式)灵活部署。 最广泛的开源生态系统使用最新部署实例(包括虚拟化)的客户希望他们能够充满自信地在最广泛的硬件和应用上实现部署——无论是现在还是未来。红帽的开源开发可以为您提供世界上最大的、获得认证的硬件和软件开源生态系统。 应用:一次认证,无限部署红帽企业 Linux 可以为您的应用提供标准化的环境,所以,无论您的业务有何种需求,都可以部署这些应用。而且,红帽应用合作伙伴只需要将他们的产品经过一次认证即可。 目前,通过 3000 多种获得认证、可以在红帽企业 Linux 上运行的应用,您可以随时随地运行您需要的应用。 选择您首选的部署方式红帽企业 Linux 是目前可用的最灵活的操作系统环境。企业 Linux 解决方案是使用相同应用的所有部署类型的理想选择。部署最能满足您业务需求的任意环境: 独立或“裸机”系统 这是目前最为常见的服务器环境。红帽企业 Linux 可以从桌面和笔记本系统扩展到小型服务器、最大型 SMP 服务器和大型机。当然,它也是刀片和机架环境的最佳选择——特别是目前流行的 4-CPU 四核系统。 虚拟化 虚拟化系统具有多种特性,例如,动态迁移、动态资源分配、高可用性和集群等,可以提供更好的资源管理和运营灵活性。企业 Linux 可以提供业内最高水平的性能和完整的虚拟化功能,而无需额外付费。 虚拟化是发展速度最快的一种部署方法——在接下来的 5 年中,预计所有的服务器中,将有高达 15% 的服务器使用虚拟化技术。通过虚拟化,您可以最大限度地发挥您的资源的作用,并提高部署灵活性和响应能力。 软件即服务(Software as a Service) 通过软件即服务或云计算部署,客户可以将自己的计算资源向数据中心之外扩展,从而提供一个随需应变的基础架构,可以增加或减少容量,满足业务需求。红帽企业 Linux 作为一个经过认证和获得支持的平台,可以部署在亚马逊弹性计算集群云 EC2 上。 设备 红帽企业基于 Linux 的应用可以帮助 ISV 预封装应用,将其作为完整的解决方案发布,从而可以包含操作系统,并简化部署、管理和维护。红帽设备战略包含广泛的部署机遇,包括: 可以通过 红帽 Exchange获得的具有完整特性的应用堆栈; 轻量级便携式媒体解决方案——功能齐全,可轻松配置标记(例如,USB 键和 live CD),从而提供一个便携式、低成本的应用环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值