centos1.3.5内核升级到2.6.30

 

  
  
  
  
  1. 因要测试一些软件,需要2.6.30以上的内核,安装好CentOS 5.5,内核是2.6.18-194.el5.这次的升级还算比较顺利,具体的过程如下:  
  2. [root@localhost ~]# uname -r  
  3. 2.6.18-194.el5  
  4. 关闭:selinux和停止iptables
  5. vim /etc/selinux/config
  6. SELINUX=disabled
  7. :wq
  8. 停止iptables: /etc/init.d/iptables stop
  9. 1.下载linux-2.6.30内核包到/usr/src目录  
  10. cd /usr/src  
  11. wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.tar.gz  
  12. tar -xzvf linux-2.6.30.tar.bz2 -C /usr/src  
  13. cd linux-2.6.30  
  14. make mrproper  清除环境变量,即清除配置文件  
  15. make menuconfig 在菜单模式下选择需要编译的内核模块:  
  16.  
  17. networking support—>networking options—>network packet filtering framework(netfilter)  
  18.  
  19. (1).core netfilter configuration  
  20. A 勾中”Netfilter connection tracking support”  -m state相关模块是依赖它的,不选则没有。  
  21. B 将netbios name service protocal support(new)   编译成模块,不然后面升级iptables后启动时会出错  
  22. C 勾中“Netfilter Xtables support (required for ip_tables)”  
  23. (2).IP: Netfilter Configuration  
  24. A 将 “IPv4 connection tracking support (require for NAT)” 编译成模块。  
  25. B 勾中IP tables support (required for filtering/masq/NAT) 。  
  26. C 将 “Full NAT” 下的 “MASQUERADE target support” 和 “REDIRECT target support” 编译成模块  
  27. (3).其它模块可以根据自己的需要进行选择,若不懂可以参考内核配置手册.  
  28.  
  29. make clean  确保所有东西均保持最新状态.  
  30. make bzImage  生成内核文件  
  31. make modules 编译模块  
  32. make modules_install 安装模块  
  33. make install  安装  
  34. mkinitrd  /boot/initrd_2.6.30.img  2.6.30  根据内核版本和指定参数生成映像文件  
  35. cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.30  
  36. cp /usr/src/linux-2.6.30/System.map /boot/System.map-2.6.30  
  37.  
  38. 2.在/etc/grub.conf添加如下2.6.30的信息,并把default=1改为default=0 
  39. [root@localhost ~]# cat /etc/grub.conf  
  40. # grub.conf generated by anaconda  
  41. #  
  42. # Note that you do not have to rerun grub after making changes to this file  
  43. # NOTICE:  You have a /boot partition.  This means that  
  44. #          all kernel and initrd paths are relative to /boot/, eg.  
  45. #          root (hd0,0)  
  46. #          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00  
  47. #          initrd /initrd-version.img  
  48. #boot=/dev/sda  
  49. default=0 
  50. timeout=5 
  51. splashimage=(hd0,0)/grub/splash.xpm.gz  
  52. hiddenmenu  
  53. title CentOS (2.6.18-194.el5)  
  54.         root (hd0,0)  
  55.         kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet  
  56.         initrd /initrd-2.6.18-194.el5.img  
  57.  
  58. title CentOS (2.6.30)  
  59.         root (hd0,0)  
  60.         kernel /vmlinuz-2.6.30 ro root=/dev/VolGroup00/LogVol00 rhgb quiet  
  61.         initrd /initrd-2.6.30.img  
  62.  
  63. 3.此步若没有操作,重启会报错”insmod: error inserting ‘/lib/dm-region-hash.ko’: –1 File exits”,原因是重复了,根据网上查到的资料,2.6.x自编译内核会有这个小bug,我测试过不修改直接重启,虽然有报错,但仍然可以进入系统的.  
  64.  

 

  
  
  
  
  1.  
  2.  
  3. [root@localhost]cp /boot/initrd-2.6.30.img /tmp  
  4. [root@localhost]cd /tmp/  
  5. [root@localhost tmp]mkdir newinitrd  
  6. [root@localhost tmp]cd newinitrd/  
  7. [root@localhost newinitrd]zcat ../initrd-2.6.30.img |cpio -i  
  8. [root@localhost newinitrd]vi init 删掉重复的如下两行:  
  9. echo “Loading dm-region-hash.ko module”  
  10. insmod /lib/dm-region-hash.ko  
  11. [root@localhost newinitrd]# find .|cpio -c -o > ../initrd  
  12. 14765 blocks  
  13. [root@localhost newinitrd]# cd ..  
  14. [root@localhost tmp]# gzip -9 < initrd > initrd-2.6.30.img  
  15. [root@localhost tmp]# ls  
  16. gconfd-root initrd initrd-2.6.30.img mapping-root newinitrd scim-panel-socket:0-root  
  17. [root@localhost tmp]# mv /boot/initrd-2.6.30.img /home/  
  18. [root@localhost tmp]# cp initrd-2.6.30.img /boot/  
  19. [root@localhost tmp]#reboot  
  20. 4.重启成功后,再看看内核,是2.6.30,ok了。  
  21. [root@localhost ~]# uname -r  
  22. 2.6.30  

 iptables升级到v1.4.12.1 /usr/src

/etc/init.d/iptables stop

http://www.netfilter.org/projects/iptables/downloads.html

wget http://www.netfilter.org/projects/iptables/files/iptables-1.4.12.1.tar.bz2

tar -jxvf  iptables-1.4.12.1.tar.bz2

#./configure --with-kernel=/usr/src/linux-2.6.30
#make&& make install
#reboot
#iptables -V

/etc/init.d/iptables restart

 

 

 

你可能感兴趣的:(centos,职场,休闲,内核升级)