当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 把RH7.0内核升级到2.4

Unix/Linux
Creating a OpenBSD 3.5 bootable CD
解决Fatal error: Call to undefined function: preg_match()
[工具 使用 原创] ls可以是彩色的,df也可以是彩色的
ipfilter+squid配置实例
UNIX痛恨者手册
postfix+ldap+sasl2+courier-imap for freebsd完全ports
硬盘、分区引导和操作系统加载程序
Unix/Linux下的“魔法兔仔”, webmin
solaris10 apache2 的问题
解决启动DHCP客户端时,出现unknown 主机名称的方法
A1000的电池用完了会有什么严重后果
Solaris 2.6+Ultra5内置扬声器故障诊断实例
各种shell下文件名补全功能的使用
民工日记--- We sell dream
让你的终端同时支持中文和 PP 的背景(转载收藏)
民工日记 --不变的变化
配置Solaris上网
民工日记--不鼓励也不反对
Solaris Security Toolkit 4.2
民工日记--无奈

Unix/Linux 中的 把RH7.0内核升级到2.4


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 161 ::
收藏到网摘: n/a

RH 7.0 原来的内核版本为 2.2.16,对于像我这类“追新族”来说,使用一把最新的产品,是一件快事。而且,
升级软件或者内核本身就是加固系统,修补系统存在的潜在漏洞,让黑客无懈可击。本文是一个实际的升级例子,
没有理论的东西,而且存在个人偏好和硬件配置不同等问题,如果你按照本文升级 RH 7.0 不成功,本人对因此
而造成的 Linux 不能启动,Windows 98 不能启动等等问题,概不负责。
机器的硬件配置为 AMD 700MHz,Voodoo 3 3000 PCI 以及 128MB RAM,RH 7.0 是新安装,不是升级安装。

1. 以 root 用户登录系统。

2. 下载 linux-2.4.0.tar.gz 到 /root 目录。

3. 解开 tarball :

# tar xvzf linux-2.4.0.tar.gz

4. 进入新产生的 linux 子目录,运行:

# make mrproper

5. 从 http://www.redhat.com/support/errata/RHBA-2000-132.html 下载更新版 本的 gcc 。在 /root 目录下
有 gcc-2.96-69.i386.rpm 文件,安装:

# rpm -Fvh gcc-2.96-69.i386.rpm

6. 检验安装以后的版本:

# gcc --version

7. 去 http://www.kernel.org 下载 util-linux 2.10o,并安装:

# ./configure
# make
# make install

检验版本:

# fdformat --version

8. 从 kernel.org 下载 modutils-2.4.0 RPM 包并安装:


# rpm -Fvh modutils-2.4.0.i386.rpm

检查版本:

# insmod -V

9. 对 ksymoops-2.4.0-1.i386.rpm 和 e2fsprogs-1.19-0.i386.rpm 做同样的处理。

10.从 ftp://rawhide.redhat.com/pub/rawhide/i386/RedHat/RPMS/ 下载更新的 mkinitrd 包安装并检查版本:

# rpm -Fvh mkinitrd-2.9-1.i386.rpm

11. 在 linux 目录下,运行 make xconfig 产生 .config 文件。

12. 查看 Makefile 的前面几行是否和当前环境一致,
export INSTALL_PATH=/boot
被注释了,需要去掉注释。因为 Redhat 把他的内核放在 /boot 下。

13. 运行 make dep 。

14. 运行 make bzImage 。

15. 运行 make modules 。

16. 运行 make modules_install 。

17. 复制新内核('bzImage') 到 /home 目录作为备份:

# cp /root/linux/arch/i386/boot/bzImage /home/bzImage

18. 复制新内核到 /boot 目录,并改名为: mykernel-2.4.0 :

# cp /root/linux/arch/i386/boot/bzImage /boot/mykernel-2.4.0

19. 编辑 /etc/lilo.conf ,使可以从新内核缺省启动:

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
message=/boot/message
linear
default=2.4.0

image=/boot/mykernel-2.4.0
label=2.4.0
root=/dev/hda1
read-only

image=/boot/vmlinuz-2.2.16-22
label=2.2.16
root=/dev/hda1
read-only

21. 运行 lilo 。

22. 重新启动机器。

启动后有些模块没有起来,因为没有加载过,运行 modprobe 以后就可以了