把Red Hat 7.0内核升级到2.4


Red Hat 7.0原来的内核版本为2.2.16,对于像我这类“追新族”来说,使用一把最新的产品,是一件快事。而且,升级软件或者内核本身就是加固系统,修补系统存在的潜在漏洞,让黑客无懈可击。

本文是一个实际的升级例子,没有理论的东西,而且存在个人偏好和硬件配置不同等问题,如果你按照本文升级RH 7.0不成功,本人对因此而造成的Linux不能启动,Windows 98不能启动等等问题,概不负责。
  
    机器的硬件配置为AMD 700MHz、Voodoo 3 3000 PCI,以及128MB内存,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
  
    被注释了,需要去掉注释。因为Red Hat把他的内核放在/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以后就可以了

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3