您好,登錄后才能下訂單哦!
1、查看當(dāng)前系統(tǒng)內(nèi)核
# uname -r
2 2.6.32-71.el6.i686
2、下載linux-3.2.2內(nèi)核包[l1]
# cd ~
# wget -c http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.2.2.tar.bz2
# tar jxvf linux-3.2.2.tar.bz2
# cd linux-3.2.2
3、配置內(nèi)核并安裝
# make mrproper #清除環(huán)境變量,即清除配置文件
# make menuconfig #在菜單模式下選擇需要編譯的內(nèi)核模塊[l2]
(注:這一步不知道可以直接使用默認(rèn)即可,或者查看幫助文件)
模塊可以根據(jù)自己的需要進(jìn)行選擇,若不懂可以參考內(nèi)核配置手冊(cè).
執(zhí)行完make menuconfig后,修改/usr/src/linux-2.6.35.4/.config
將#CONFIG_SYSFS_DEPRECATED_V2 is not set
默認(rèn)被注釋掉的,將其改為y。即修改為
CONFIG_SYSFS_DEPRECATED_V2=y
[l3] 再接著編譯安裝內(nèi)核
# make clean #確保所有東西均保持最新狀態(tài).
# make bzImage #生成內(nèi)核文件
# make modules #編譯模塊
# make modules_install #安裝模塊
# make install #安裝
4、編輯 /etc/grub.conf 文件,將 default=1 改為 default=0[l4]
# cat /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=1
timeout=5
splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS Linux (3.2.2)
root (hd0,0)
kernel /vmlinuz-3.2.2 ro root=/dev/mapper/VolGroup-lv_root rd_LVM_LV=VolGroup/lv_root rd_LVM_LV=VolGroup/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
initrd /initramfs-3.2.2.img
title centos (2.6.32-71.el6.i686)
root (hd0,0)
kernel /vmlinuz-2.6.32-71.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_LVM_LV=VolGroup/lv_root rd_LVM_LV=VolGroup/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
initrd /initramfs-2.6.32-71.el6.i686.img
5、重啟系統(tǒng),并查看內(nèi)核
# reboot
# uname -r
3.2.
升級(jí)成功!
#升級(jí)過程中遇到的問題
一、啟動(dòng)報(bào)錯(cuò)
mount: could not find filesystem ‘/dev/root’
setuproot: moving /dev failed: No such file or directory
setuproot: error mounting /proc: No such file or directory
setuproot: error mounting /sys: No such file or directory
switchroot: mount failed: No such file or directory
Kernel panic – not syncing: Attempted to kill init!
解決方法:
執(zhí)行完make menuconfig后,修改/usr/src/linux-2.6.35.4/.config
將#CONFIG_SYSFS_DEPRECATED_V2 is not set
默認(rèn)被注釋掉的,將其改為y。即修改為
CONFIG_SYSFS_DEPRECATED_V2=y
再接著編譯安裝內(nèi)核
二、啟動(dòng)報(bào)錯(cuò)
insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists
解決方法:
1、解壓initrd文件
[root@vhost ~]# cp /boot/initrd-2.6.35.4.img /tmp
[root@vhost ~]# cd /tmp/
[root@vhost tmp]# ls
initrd-2.6.35.4.img
[root@vhost tmp]# mkdir newinitrd
[root@vhost tmp]# cd newinitrd/
[root@vhost newinitrd]# zcat ../initrd-2.6.35.4.img |cpio -i
11282 blocks
釋放之后看到如下內(nèi)容
[root@vhost newinitrd]# ls
bin dev etc init lib proc sbin sys sysroot
2、下邊就是編輯init,刪掉其中重復(fù)的四行中的兩行
echo "Loading dm-region-hash.ko module"
insmod /lib/dm-region-hash.ko
echo "Loading dm-region-hash.ko module"
insmod /lib/dm-region-hash.ko
3、重新打包initrd
[root@vhost newinitrd]# find .|cpio -c -o > ../initrd
11282 blocks
[root@vhost newinitrd]# cd ..
[root@vhost tmp]# gzip -9 < initrd > initrd.img
[root@vhost tmp]# ls
initrd-2.6.35.4.img initrd initrd.img newinitrd
initrd.img就是重新打包的initrd了,然后把initrd.img拷貝到/boot
[root@vhost tmp]# mv /boot/initrd-2.6.35.4.img /boot/initrd-2.6.35.4.img.bak
[root@vhost tmp]# mv initrd.img /boot/initrd-2.6.35.4.img
[root@vhost tmp]# reboot
這樣“insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists” 就不會(huì)有了
[l1]關(guān)于如何選擇內(nèi)核版本,首先要根據(jù)自己的需要,比如我要升級(jí)ext4系統(tǒng),那么必須選擇2.6.28以上版本;還有偶數(shù)版本一般為穩(wěn)定版
下載版本到http://www.kernel.org/pub/linux/kernel去下載就可以
[l2]注:這一步也是根據(jù)需要選擇相應(yīng)模塊,選項(xiàng)分三種--(不包含,以模塊形式,編入內(nèi)核);不知道可以直接使用默認(rèn)即可,或者查看幫助文件
[l3]這一步一定要先做,否則在升級(jí)后自檢報(bào)錯(cuò):mount: could not find filesystem ‘/dev/root’
[l4]不必急著刪老版本,更改默認(rèn)啟動(dòng)新內(nèi)核即可,在確認(rèn)新內(nèi)核升級(jí)正常后再刪老內(nèi)核也不遲
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。