环境:

  系统硬件:vmware vsphere (CPU:2*4核,内存2G)

  系统版本:Linux centos 2.6.32-431.el6.x86_64(Centos-6.5-x86_64-minimal.iso )

  升级内核版本:longterm:3.12.17

升级步骤:

  1.虚拟系统安装

  要求mininal方式安装(205个包),具体步骤省略。

  

  2.查看原有系统内核版本,升级更新包

  2.1更新包

  [root@centos ~]# yum update

  [root@centos ~]# yum upgrade

  2.2查看系统内核版本

  [root@centos ~]# uname -a

  Linux centos 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

  [root@centos ~]# cat /etc/redhat-release
  CentOS release 6.5 (Final)

  3.下载、安装需编译环境所需要的工具包

  [root@centos ~]# yum install vim wget
  [root@centos ~]# yum install gcc gcc-c++ xz
  [root@centos ~]# yum install bc
  [root@centos ~]# yum install ncurses-devel
  [root@centos ~]# yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel

  [root@centos ~]# yum install qt-devel #如果有X环境时安装(目前不安装)
  
  4.下载内核包

  4.1进行目录
  [root@centos ~]# cd /usr/local/src/

  4.2下载内核包,目前是3.12.17版本。
  [root@centos ~]# wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.17.tar.xz

  
  5.编译内核

  5.1解包,进行内核源码目录
  [root@centos ~]# tar -vxf linux-3.12.17.tar.xz
  [root@centos ~]# cd linux-3.12.17

  ***/usr/local/src/linux-3.12.17此目录当编译目录,编译过程,操作都必须在此目录

  5.2以菜单的方式,选择编译内核需要的模块
  [root@centos ~]# make menuconfig

  打开菜单后,以默认方式保存<Save>,并退出<Exit>

  保存后,当前目录会自动生成.config文件

  5.3查看当前版本,并且以原编译配置来进行编译

  [root@centos ~]# uname -r
  2.6.32-431.el6.x86_64
  

  5.4 复制原配置文件到编译目录(视需要,把旧的配合文件做为新的配合模板)

  [root@centos ~]# cp /boot/config-2.6.32-431.11.2.el6.x86_64 .config

  提示是否覆盖,输入Y
  [root@centos ~]# sudo sh -c 'yes "" | make oldconfig'

  以原配置文件产生新的配置文件,默认回答为YES方式

  

  5.5 编译内核 (需时约30-40分钟)
  [root@centos ~]# make

  

  5.6安装内核

  [root@centos ~]# make modules_install install

  完成时,会提示 could not find module vmware_balloon,这个和虚拟机有关(不理它)

  6. 更改系统启动时,使用的内核
  [root@centos ~]# vim /boot/grub/menu.lst

  修改default=0,开机后,默认以第一项启动(3.12.17内核)

  保存退出

  7.重启系统
  [root@centos ~]# shutdown -r now

 

  8.确认当前内核版本
  [root@centos ~]# uname -r

  Linux centos 3.12.17 #1 SMP Fri Apr 11 03:32:42 CST 2014 x86_64 x86_64 x86_64 GNU/Linux

  显示内核为3.12.17,表示升级内核成功

  9.如果编译失败,可以先清除,再重新编译
  [root@centos ~]# cd /usr/local/src/linux-3.12.17
  [root@centos ~]# make mrproper         #完成或者安装过程出错,可以清理上次编译的现场
  [root@centos ~]# make clean

  10.如果升级成功后,可以删除源码目录
  [root@centos ~]# rm -rf /usr/local/src/linux-3.12.17

  11.删除原来的内核 

  11.1查看当前有什么内核版本

  [root@centos ~]# rpm -q kernel

  显示以下版本

  kernel-2.6.32-431.el6.x86_64
  kernel-2.6.32-431.11.2.el6.x86_64

  11.2删除原内核

  [root@centos ~]# yum remove kernel-2.6.32-431.el6.x86_64 #移除此版本的内核,同时启动菜单也不再会出现此内核
  [root@centos ~]# yum remove kernel-2.6.32-431.11.2.el6.x86_64

  删除后,查看启动菜单会发现已经少了此内核

  [root@centos ~]# cat /boot/grub/menu.lst

最新文章

  1. WCF自寄宿
  2. 转:ProgressMonitorDialog
  3. jQuery extend方法使用及实现
  4. 在Linux下安装PHP过程中,编译时出现错误的解决办法
  5. 20 个免费的 Bootstrap 的后台管理模板
  6. 你在用什么思想编码:事务脚本 OR 面向对象?
  7. Spark SQL - DataFrame
  8. 【转】DataGridView绑定数据源的几种方式
  9. OC3_字典
  10. “百度杯”CTF比赛 九月场_SQL
  11. ko数组
  12. axios学习 - 数据获取及渲染
  13. P3865 【模板】ST表
  14. python之使用位运算符实现加法运算
  15. 如何强制关闭LODOP或c-lodop已经弹出的预览窗口
  16. js变量浅谈
  17. LeetCode(44): 通配符匹配
  18. leetcode-algorithms-29 Divide Two Integers
  19. kubernetes部署mysql
  20. 【题解】 bzoj4004: [JLOI2015]装备购买 (线性基)

热门文章

  1. metasploit学习之ms03_026
  2. 5款帮助简化的HTML5 Audio开发的Javascript类库
  3. ExtJs4 笔记(13) Ext.menu.Menu 菜单、Ext.draw.Component 绘图、Ext.resizer.Resizer 大小变更
  4. _00024 尼娜抹微笑伊拉克_云计算ClouderaManager以及CHD5.1.0群集部署安装文档V1.0
  5. Visual Studio Code中文文档
  6. [计算机基础]URI与URL
  7. Linux中more命令的实现
  8. windows系统port监听
  9. VS2013中安装配置和使用Boost库
  10. 通过Type.InvokeMethod实现方法的重载