1.下載源碼包
網(wǎng)址:http://www.kernel.org
在首頁(yè)可以看到有 stable,longterm 等版本,一般選擇下載 longterm 版本,因?yàn)榇税姹緸樘峁╅L(zhǎng)期支持的穩(wěn)定版,因此我選擇 3.12.16.
[root@CentOS-BinaryDev~]# wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.16.tar.xz
2.解壓并進(jìn)入目錄
[root@CentOS-BinaryDev~]# tar -xf linux-3.12.16.tar.xz
[root@CentOS-BinaryDev~]# cd linux-3.12.16
3.更新當(dāng)前系統(tǒng)
[root@CentOS-BinaryDev~]# yum update
[root@CentOS-BinaryDev~]# yum upgrade
4.安裝編譯內(nèi)核所需要的軟件包
[root@CentOS-BinaryDev~]# yum groupinstall “Development Tools”
[root@CentOS-BinaryDev~]# yum install ncurses-devel
[root@CentOS-BinaryDev~]# yum install qt-devel
[root@CentOS-BinaryDev~]# yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
[root@CentOS-BinaryDev~]# yum -y install bc
5.查看當(dāng)前系統(tǒng)內(nèi)核
[root@CentOS-BinaryDev~]# uname -r
2.6.32-358.11.1.el6.x86_64
6.將當(dāng)前系統(tǒng)內(nèi)核的配置文件拷貝到當(dāng)前目錄
[root@CentOS-BinaryDev~]# cp /boot/config-2.6.32-358.11.1.el6.x86_64 .config
7.使用當(dāng)前系統(tǒng)內(nèi)核配置,并自動(dòng)接受每個(gè)新增選項(xiàng)的默認(rèn)設(shè)置
[root@CentOS-BinaryDev~]# sh -c 'yes "" | make oldconfig'
8.編譯
[root@CentOS-BinaryDev~]# make bzImage
[root@CentOS-BinaryDev~]# make modules
[root@CentOS-BinaryDev~]# make modules_install
或則:
[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,就填寫那個(gè)數(shù)字,例如有8核,則為-j8。(modules部分耗時(shí)30多分鐘)
9.安裝
[root@CentOS-BinaryDev~]# make install
如果出現(xiàn)少量 ERROR 可以忽略
10.修改 Grub 引導(dǎo)順序
[root@CentOS-BinaryDev~]# vim /etc/grub.conf
一般新內(nèi)核的位置都在第一個(gè),所以設(shè)置 default=0.
11.重啟后查看內(nèi)核版本號(hào)
[root@CentOS-BinaryDev~]# uname -r
3.12.16
12.如果失敗,轉(zhuǎn)至第 5 步,在重新開始之前,需要清理上次編譯的現(xiàn)場(chǎng)
[root@CentOS-BinaryDev~]# make mrproper