標籤:升級核心 centos編譯核心
1、下載核心,官網:https://www.kernel.org/
650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/7E/D8/wKiom1cKLDuyBa_HAALy6nAkKsM532.png" title="1.png" style="float:none;" alt="wKiom1cKLDuyBa_HAALy6nAkKsM532.png" />
這裡用了3.18.30的版本了,系統資訊如下:
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/7E/D8/wKiom1cKLDvhaze5AABrbpTlmyo371.png" title="2.png" style="float:none;" alt="wKiom1cKLDvhaze5AABrbpTlmyo371.png" />
2、編譯前準備
安裝編譯依賴
# yum grouplist //查看已經安裝的和未安裝的軟體包組,來判斷我們是否安裝了相應的開發環境和開發庫;# yum groupinstall "DevelopmentTools" //一般是安裝這兩個軟體包組,這樣做會確定你擁有編譯時間所需的一切工具# yum install ncurses-devel //你必須這樣才能讓 make*config 這個指令正確地執行# yum install qt-devel //如果你沒有 X 環境,這一條可以不用# yum install hmaccalc zlib-develbinutils-devel elfutils-libelf-devel //建立 CentOS-6 核心時需要它們
解壓檔案
# tar -xf linux-3.18.30.tar.xz -C /usr/src/
3、到下一步就是去配置核心了、這步配置核心的方法有多種、每一個make就是一種方法、我們只在選一種就可以了:
make config:遍曆選擇所要編譯的核心特性
make allyesconfig:配置所有可編譯的核心特性
make allnoconfig:並不是所有的都不編譯,而是能選的都回答為NO、只有必須的都選擇為yes。
make menuconfig:這種就是開啟一個檔案視窗選擇菜單,這個命令需要開啟的視窗大於80字元的寬度,開啟後就可以在裡面選擇要編譯的項了
下面兩個是可以用滑鼠點選擇的、比較方便哦:
make kconfig(KDE案頭環境下,並且安裝了qt開發環境)
make gconfig(Gnome案頭環境,並且安裝gtk開發環境)
menuconfig:使用這個命令的話、如果是新安裝的系統就要安裝gcc和ncurses-devel這兩個包才可以開啟、然後再裡面選擇就可以了、通這個方法也是用得比較多的
這裡在系統原有的核心設定檔的基礎上建立新的編譯選項,所以複製一份到目前的目錄下,命名為.config。這裡用# make oldconfig命令,讀取目前的目錄下的.config檔案,在.config檔案裡沒有找到的選項則提示使用者填寫,#make oldconfig會在產生新的.config之前備份為.config.old,並產生新的.config檔案
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/7E/D5/wKioL1cKLO3gVLGXAADOgC4wgeY708.png" title="3.png" style="float:none;" alt="wKioL1cKLO3gVLGXAADOgC4wgeY708.png" />
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/7E/D8/wKiom1cKLDzgj_8dAAA3PT2nsNc223.png" title="4.png" style="float:none;" alt="wKiom1cKLDzgj_8dAAA3PT2nsNc223.png" />
4、開始編譯
# make -j4 bzImage //產生核心檔案# make -j4 modules //編譯模組# make -j4 modules_install //編譯安裝模組
-j後面的數字是線程數,用於加快編譯速度,一般的經驗是,邏輯CPU,就填寫那個數字,例如有8核,則為-j8,如下查看CPU核心數,所以這裡使用的是-j6
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/7E/D5/wKioL1cKLO7CDHxUAABHmd0u7So927.png" title="5.png" style="float:none;" alt="wKioL1cKLO7CDHxUAABHmd0u7So927.png" />
5、安裝
# make install
實際運行到這一步時,出現ERROR: modinfo: could not find module vmware_balloon,但是不影響核心安裝,是由於vsphere需要的模組沒有編譯,要避免這個問題,需要在make之前時修改.config檔案,加入
HYPERVISOR_GUEST=y
CONFIG_VMWARE_BALLOON=m
可以先清理在重新編譯,當然不影響使用直接就忽略了
# make mrproper #完成或者安裝過程出錯,可以清理上次編譯的現場# make clean
6、修改grub引導,重啟
安裝完成後,需要修改Grub引導順序,讓新安裝的核心作為預設核心。
編輯 grub.conf檔案,
vi /etc/grub.conf
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/7E/D8/wKiom1cKLDzyfhJ9AADHGn4gT6c796.png" title="6.png" style="float:none;" alt="wKiom1cKLDzyfhJ9AADHGn4gT6c796.png" />
看下剛剛新安裝的核心在哪個位置,從0開始,然後設定default為0,一般新安裝的核心在第一個位置,所以設定default=0。
重啟reboot:
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/7E/D5/wKioL1cKLO-QvgTDAABdjbNrPNQ354.png" title="7.png" style="float:none;" alt="wKioL1cKLO-QvgTDAABdjbNrPNQ354.png" />
7、核心編譯完成,確認當前核心:
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M01/7E/D8/wKiom1cKLD3x4K_NAABuwc3dsM4211.png" title="8.png" style="float:none;" alt="wKiom1cKLD3x4K_NAABuwc3dsM4211.png" />
本文出自 “毛竹之勢” 部落格,請務必保留此出處http://peaceweb.blog.51cto.com/3226037/1762391
CentOS 6.5 編譯升級核心