需求:
? ? ? ? 為CentOS 6.5升級內(nèi)核:2.6.32升級 3.12.17
環(huán)境:
系統(tǒng)硬件:vmware vsphere (CPU:2*4核硫眯,內(nèi)存2G)
系統(tǒng)版本:Linux centos 2.6.32-696.el6.x86_64
升級內(nèi)核版本:longterm:3.12.17
?升級步驟:
1.更新包
[root@localhost ~]# yum update? ? (更新程序,但不包括內(nèi)核)
[root@localhost ~]# yum upgrade (包括內(nèi)核一起更新)
2.查看系統(tǒng)內(nèi)核版本
[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.下載、安裝需編譯環(huán)境所需要的工具包
[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環(huán)境時安裝(目前不安裝)?
4.下載內(nèi)核包
4.1進行目錄
[root@localhost ~]# cd /usr/local/src/
4.2下載內(nèi)核包查辩,本次使用3.12.17版本骏全。
[root@localhost ~]# wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.17.tar.xz
5.編譯內(nèi)核
5.1解包,進行內(nèi)核源碼目錄
[root@localhost ~]# tar -vxf linux-3.12.17.tar.xz
[root@localhost ~]# cd linux-3.12.17
? ? ? ?5.2以菜單的方式肪康,選擇編譯內(nèi)核需要的模塊
[root@localhost ~]# make menuconfig
打開菜單后荚恶,以默認方式保存,并退出保存后磷支,當前目錄會自動生成.config文件
? ? ? ?執(zhí)行完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復(fù)制原配置文件到編譯目錄(視需要,把舊的配合文件做為新的配合模板)
? ? ? ? [root@localhost ~]# cp /boot/config-2.6.32-696.el6.x86_64 .config
? ? ? ? 提示是否覆蓋箍邮,輸入y
? ? ? ? [root@localhost ~]# sh -c 'yes "" | make oldconfig'
? ? ? ? 以原配置文件產(chǎn)生新的配置文件茉帅,默認回答為YES方式
? ? ? ? 5.5編譯內(nèi)核 (需時約30-40分鐘)
? ? ? ? [root@localhost ~]# make
? ? ? ? 5.6安裝內(nèi)核
? ? ? ? [root@localhost ~]# make modules_install install
? ? ? ? 完成時,會提示 could not find module vmware_balloon锭弊,這個和虛擬機有關(guān),可以無視堪澎。
6. 更改系統(tǒng)啟動時,使用的內(nèi)核
? ? ? ? [root@localhost ~]# vim /boot/grub/menu.lst
? ? ? ?修改default=0味滞,開機后樱蛤,默認以第一項啟動(3.12.17內(nèi)核)
? ? ? ?保存退出
7.重啟系統(tǒng)
? ? ? [root@localhost ~]# shutdown -r now
8.確認當前內(nèi)核版本
? ? ? [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
? ? ? ?顯示內(nèi)核為3.12.17钮呀,表示升級內(nèi)核成功
9.如果編譯失敗,可以先清除昨凡,再重新編譯
? ? ? ?[root@localhost ~]# cd /usr/local/src/linux-3.12.17
? ? ? ?[root@localhost ~]# make mrproper? ? ? ? #完成或者安裝過程出錯爽醋,可以清理上次編譯的現(xiàn)場
? ? ? ?[root@localhost ~]# make clean
10.如果升級成功后,可以刪除源碼目錄
? ? ? ?[root@localhost ~]# rm -rf /usr/local/src/linux-3.12.17
11.刪除原來的內(nèi)核
? ? ? ?11.1查看當前有什么內(nèi)核版本
? ? ? ?[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刪除原內(nèi)核
? ? ? ?[root@localhost ~]# yum remove kernel-2.6.32-431.el6.x86_64?
? ? ? ?移除此版本的內(nèi)核便脊,同時啟動菜單也不再會出現(xiàn)此內(nèi)核
? ? ? ?[root@localhost ~]# yum remove kernel-2.6.32-431.11.2.el6.x86_64
? ? ? ?刪除后蚂四,查看啟動菜單會發(fā)現(xiàn)已經(jīng)少了此內(nèi)核
? ? ? ?[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)