美文网首页
CentOS的内核升级(2.6.32→3.12.17)

CentOS的内核升级(2.6.32→3.12.17)

作者: 辉耀辉耀 | 来源:发表于2017-04-14 16:07 被阅读0次

    需求:

            为CentOS 6.5升级内核:2.6.32升级 3.12.17

    环境:

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

    系统版本:Linux centos 2.6.32-696.el6.x86_64

    升级内核版本:longterm:3.12.17

     升级步骤:

    1.更新包

      [root@localhost ~]# yum update    (更新程序,但不包括内核)

      [root@localhost ~]# yum upgrade (包括内核一起更新)

    2.查看系统内核版本

      [root@localhost ~]# uname -a

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

          [root@localhost ~]# cat /etc/redhat-release

      CentOS release 6.9 (Final)

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

      [root@localhost ~]# yum install vim wget

      [root@localhost ~]# yum install gcc gcc-c++ xz

      [root@localhost ~]# yum install bc

      [root@localhost ~]# yum install ncurses-devel

      [root@localhost ~]# yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel

      [root@localhost ~]# yum install qt-devel #如果有X环境时安装(目前不安装) 

    4.下载内核包

      4.1进行目录

      [root@localhost ~]# cd /usr/local/src/

      4.2下载内核包,本次使用3.12.17版本。

      [root@localhost ~]# wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.17.tar.xz

    5.编译内核

      5.1解包,进行内核源码目录

      [root@localhost ~]# tar -vxf linux-3.12.17.tar.xz

      [root@localhost ~]# cd linux-3.12.17

           5.2以菜单的方式,选择编译内核需要的模块

      [root@localhost ~]# make menuconfig

      打开菜单后,以默认方式保存,并退出保存后,当前目录会自动生成.config文件

           执行完make menuconfig后,vim /boot/config-2.6.32-696.el6.x86_64

           将#CONFIG_SYSFS_DEPRECATED_V2 is not set

           把注释去掉,并将其改为y。即修改为CONFIG_SYSFS_DEPRECATED_V2=y

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

           [root@localhost ~]# uname -r

            2.6.32-696.el6.x86_64

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

            [root@localhost ~]# cp /boot/config-2.6.32-696.el6.x86_64 .config

            提示是否覆盖,输入y

            [root@localhost ~]# sh -c 'yes "" | make oldconfig'

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

            5.5编译内核 (需时约30-40分钟)

            [root@localhost ~]# make

            5.6安装内核

            [root@localhost ~]# make modules_install install

            完成时,会提示 could not find module vmware_balloon,这个和虚拟机有关,可以无视。

    6. 更改系统启动时,使用的内核

            [root@localhost ~]# vim /boot/grub/menu.lst

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

           保存退出

    7.重启系统

          [root@localhost ~]# shutdown -r now

    8.确认当前内核版本

          [root@localhost ~]# uname -a

          Linux localhost.localdomain 3.12.17 #1 SMP Fri Apr 14 15:09:01 CST 2017 x86_64 x86_64 x86_64 GNU/Linux

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

    9.如果编译失败,可以先清除,再重新编译

           [root@localhost ~]# cd /usr/local/src/linux-3.12.17

           [root@localhost ~]# make mrproper        #完成或者安装过程出错,可以清理上次编译的现场

           [root@localhost ~]# make clean

    10.如果升级成功后,可以删除源码目录

           [root@localhost ~]# rm -rf /usr/local/src/linux-3.12.17

    11.删除原来的内核

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

           [root@localhost ~]# rpm -q kernel

           kernel-2.6.32-431.el6.x86_64

           kernel-2.6.32-696.el6.x86_64

           kernel-2.6.32-696.1.1.el6.x86_64

           11.2删除原内核

           [root@localhost ~]# yum remove kernel-2.6.32-431.el6.x86_64 

           移除此版本的内核,同时启动菜单也不再会出现此内核

           [root@localhost ~]# yum remove kernel-2.6.32-431.11.2.el6.x86_64

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

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

           default=0

           timeout=5

           splashimage=(hd0,0)/grub/splash.xpm.gz

           hiddenmenu

           title CentOS (3.12.17)

           root (hd0,0)

          kernel /vmlinuz-3.12.17 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto LANG=zh_CN.UTF-8 rd_LVM_LV=VolGroup/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

           initrd /initramfs-3.12.17.img

           title CentOS (2.6.32-696.el6.x86_64)

           root (hd0,0)

           kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto LANG=zh_CN.UTF-8 rd_LVM_LV=VolGroup/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

           initrd /initramfs-2.6.32-696.el6.x86_64.img

           title CentOS (2.6.32-431.el6.x86_64)

    相关文章

      网友评论

          本文标题:CentOS的内核升级(2.6.32→3.12.17)

          本文链接:https://www.haomeiwen.com/subject/daowattx.html