成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

CentOS 6.x 內(nèi)核升級(jí)(2.6.32 -> 3.10.58)過(guò)程記錄

CarterLi / 3028人閱讀

摘要:本人升級(jí)的目的是想在上運(yùn)行,官方建議內(nèi)核版本在及以上,于是就自己從內(nèi)核官方網(wǎng)站上下載源碼,自己編譯。也建議在之前,運(yùn)行腳本檢查當(dāng)前內(nèi)核運(yùn)行所缺失的模塊。如何清除原內(nèi)核現(xiàn)有軟件是否需要升級(jí)參考資料升級(jí)內(nèi)核到內(nèi)核配置方式詳解原文鏈接地址

本人升級(jí)的目的是想在CentOS6.2上運(yùn)行docker,官方建議內(nèi)核版本在3.8.0及以上,于是就自己從Linux內(nèi)核官方網(wǎng)站上下載源碼,自己編譯。

1. 準(zhǔn)備工作 確認(rèn)內(nèi)核及版本信息
[root@hostname ~]# uname -r
2.6.32-220.el6.x86_64
[root@hostname ~]# cat /etc/centos-release 
CentOS release 6.2 (Final)
安裝軟件

編譯安裝新內(nèi)核,依賴(lài)于開(kāi)發(fā)環(huán)境和開(kāi)發(fā)庫(kù)

# yum grouplist  //查看已經(jīng)安裝的和未安裝的軟件包組,來(lái)判斷我們是否安裝了相應(yīng)的開(kāi)發(fā)環(huán)境和開(kāi)發(fā)庫(kù);
# yum groupinstall "Development Tools"  //一般是安裝這兩個(gè)軟件包組,這樣做會(huì)確定你擁有編譯時(shí)所需的一切工具
# yum install ncurses-devel //你必須這樣才能讓 make *config 這個(gè)指令正確地執(zhí)行
# yum install qt-devel //如果你沒(méi)有 X 環(huán)境,這一條可以不用
# yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel //創(chuàng)建 CentOS-6 內(nèi)核時(shí)需要它們

如果當(dāng)初安裝系統(tǒng)是選擇了Software workstation,上面的安裝包幾乎都已包含。

2. 編譯內(nèi)核 獲取并解壓內(nèi)核源碼,配置編譯項(xiàng)

去 http://www.kernel.org 首頁(yè),可以看到有stable, longterm等版本,longterm是比stable更穩(wěn)定的版本,會(huì)長(zhǎng)時(shí)間更新,因此我選擇 3.10.58。

[root@sean ~]# tar -xf linux-3.10.58.tar.xz -C /usr/src/
[root@sean ~]# cd /usr/src/linux-3.10.58/
[root@sean linux-3.10.58]# cp /boot/config-2.6.32-220.el6.x86_64 .config

我們?cè)谙到y(tǒng)原有的內(nèi)核配置文件的基礎(chǔ)上建立新的編譯選項(xiàng),所以復(fù)制一份到當(dāng)前目錄下,命名為.config。接下來(lái)繼續(xù)配置:

[root@sean linux-3.10.58]# sh -c "yes "" | make oldconfig"
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf --oldconfig Kconfig
.config:555:warning: symbol value "m" invalid for PCCARD_NONSTATIC
.config:2567:warning: symbol value "m" invalid for MFD_WM8400
.config:2568:warning: symbol value "m" invalid for MFD_WM831X
.config:2569:warning: symbol value "m" invalid for MFD_WM8350
.config:2582:warning: symbol value "m" invalid for MFD_WM8350_I2C
.config:2584:warning: symbol value "m" invalid for AB3100_CORE
.config:3502:warning: symbol value "m" invalid for MMC_RICOH_MMC
*
* Restart config...
*
*
* General setup
*

... ...
XZ decompressor tester (XZ_DEC_TEST) [N/m/y/?] (NEW) 
Averaging functions (AVERAGE) [Y/?] (NEW) y
CORDIC algorithm (CORDIC) [N/m/y/?] (NEW) 
JEDEC DDR data (DDR) [N/y/?] (NEW) 
#
# configuration written to .config
#

make oldconfig會(huì)讀取當(dāng)前目錄下的.config文件,在.config文件里沒(méi)有找到的選項(xiàng)則提示用戶填寫(xiě)。有的文檔里介紹使用make memuconfig,它便是根據(jù)需要定制模塊,類(lèi)似界面如下:(我們不需要)

make oldconfig會(huì)在生成新的.config之前備份為.config.old,并生成新的.config文件

開(kāi)始編譯
[root@sean linux-3.10.58]# make -j4 bzImage  //生成內(nèi)核文件
[root@sean linux-3.10.58]# make -j4 modules  //編譯模塊
[root@sean linux-3.10.58]# make -j4 modules_install  //編譯安裝模塊

-j后面的數(shù)字是線程數(shù),用于加快編譯速度,一般的經(jīng)驗(yàn)是,邏輯CPU,就填寫(xiě)那個(gè)數(shù)字,例如有8核,則為-j8。(modules部分耗時(shí)30多分鐘)

安裝

[root@sean linux-3.10.58]# make install
實(shí)際運(yùn)行到這一步時(shí),出現(xiàn)ERROR: modinfo: could not find module vmware_balloon,但是不影響內(nèi)核安裝,是由于vsphere需要的模塊沒(méi)有編譯,要避免這個(gè)問(wèn)題,需要在make之前時(shí)修改.config文件,加入
HYPERVISOR_GUEST=y
CONFIG_VMWARE_BALLOON=m
(這一部分比較容易出問(wèn)題,參考下文異常部分)

修改grub引導(dǎo),重啟

安裝完成后,需要修改Grub引導(dǎo)順序,讓新安裝的內(nèi)核作為默認(rèn)內(nèi)核。
編輯 grub.conf文件,

vi /etc/grub.conf
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.10.58)
    root (hd0,0)
...

數(shù)一下剛剛新安裝的內(nèi)核在哪個(gè)位置,從0開(kāi)始,然后設(shè)置default為那個(gè)數(shù)字,一般新安裝的內(nèi)核在第一個(gè)位置,所以設(shè)置default=0。
重啟reboot

確認(rèn)當(dāng)內(nèi)核版本
[root@sean ~]# uname -r
3.10.58

升級(jí)內(nèi)核成功!

3. 異常 編譯失敗(如缺少依賴(lài)包)

可以先清除,再重新編譯:

# make mrproper         #完成或者安裝過(guò)程出錯(cuò),可以清理上次編譯的現(xiàn)場(chǎng)
# make clean
在vmware虛擬機(jī)上編譯,出現(xiàn)類(lèi)似下面的錯(cuò)誤
[root@sean linux-3.10.58]# make install 
sh /usr/src/linux-3.10.58/arch/x86/boot/install.sh 3.10.58 arch/x86/boot/bzImage 
        System.map "/boot"
ERROR: modinfo: could not find module vmware_balloon

可以忽略,如果你有強(qiáng)迫癥的話,嘗試以下辦法:
要在vmware上需要安裝VMWARE_BALLOON,可直接修改.config文件,但如果vi直接加入CONFIG_VMWARE_BALLOON=m依然是沒(méi)有效果的,因?yàn)樗蕾?lài)于HYPERVISOR_GUEST=y。如果你不知道這層依賴(lài)關(guān)系,通過(guò)make menuconfig后,Device Drivers -> MISC devices 下是找不到VMware Balloon Driver的。(手動(dòng)vi .config修改HYPERVISOR_GUEST后,便可以找到這一項(xiàng)),另外,無(wú)論是通過(guò)make menuconfig或直接vi .config,最后都要運(yùn)行sh -c "yes "" | make oldconfig"一次得到最終的編譯配置選項(xiàng)。
然后,考慮到vmware_balloon可能在這個(gè)版本里已更名為vmw_balloon,通過(guò)下面的方法保險(xiǎn)起見(jiàn):

# cd /lib/modules/3.10.58/kernel/drivers/misc/
# ln -s vmw_balloon.ko vmware_balloon.ko #建立軟連接

其實(shí),針對(duì)安裝docker的內(nèi)核編譯環(huán)境,最明智的選擇是使用sciurus幫我們配置好的.config文件。
也建議在make bzImage之前,運(yùn)行腳本check-config.sh檢查當(dāng)前內(nèi)核運(yùn)行docker所缺失的模塊。
當(dāng)提示缺少其他module時(shí)如NF_NAT_IPV4時(shí),也可以通過(guò)上面的方法解決,然后重新編譯。

5. TO-DO

如何清除原內(nèi)核

現(xiàn)有軟件是否需要yum update升級(jí)

6. 參考資料

CentOS 6.5 升級(jí)內(nèi)核到 3.10.28

Linux Kernel內(nèi)核配置方式詳解


原文鏈接地址:http://seanlook.com/2014/10/24/upgrade-centos6_kernel-to-3.10.x/


文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/17350.html

相關(guān)文章

  • CentOS 6.x上安裝 docker.io成功

    摘要:前提是都需要聯(lián)網(wǎng),具體安裝過(guò)程如下。禁用安裝包在發(fā)行版的介質(zhì)里面已經(jīng)自帶了,可以從安裝?;蛉绻霈F(xiàn)問(wèn)題,請(qǐng)?jiān)诰€安裝,下載文件。這一步執(zhí)行之后,會(huì)在下生成兩個(gè)文件,用于從官網(wǎng)下載包。參考,在位安裝中文在上安裝原文鏈接地址 docker是什么就不多說(shuō)了,見(jiàn)docker基礎(chǔ)原理介紹。 docker容器最早受到RHEL完善的支持是從最近的CentOS 7.0開(kāi)始的,官方說(shuō)明是只能運(yùn)行于64位架...

    TANKING 評(píng)論0 收藏0
  • Elam的caffe筆記之配置篇(三):Centos 6.5下裝CUDA8.0 和cudnnv5.1

    摘要:配置要求系統(tǒng)目標(biāo)基于接口的框架寫(xiě)在前面本文是在環(huán)境下配置和的接口的過(guò)程中整理所得,本文是完全基于官方的文檔完成的的配置。改變系統(tǒng)運(yùn)行級(jí)別文本模式下啟動(dòng)安裝程序才能順利安裝。 配置要求: 系統(tǒng):centos6.5 目標(biāo):基于CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6接口的caffe框架 寫(xiě)在前面 本文是在CentOS6.5環(huán)境下配置caffe和caff...

    Coding01 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<