1.下載源碼包
網址:http://www.kernel.org
在首頁可以看到有 stable,longterm 等版本,一般選擇下載 longterm 版本,因為此版本為提供長期支持的穩定版,因此我選擇 3.12.16.
[root@CentOS-BinaryDev~]# wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.16.tar.xz
2.解壓并進入目錄
[root@CentOS-BinaryDev~]# tar -xf linux-3.12.16.tar.xz
[root@CentOS-BinaryDev~]# cd linux-3.12.16
3.更新當前系統
[root@CentOS-BinaryDev~]# yum update
[root@CentOS-BinaryDev~]# yum upgrade
4.安裝編譯內核所需要的軟件包
[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.查看當前系統內核
[root@CentOS-BinaryDev~]# uname -r
2.6.32-358.11.1.el6.x86_64
6.將當前系統內核的配置文件拷貝到當前目錄
[root@CentOS-BinaryDev~]# cp /boot/config-2.6.32-358.11.1.el6.x86_64 .config
7.使用當前系統內核配置,并自動接受每個新增選項的默認設置
[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 //生成內核文件 [root@sean linux-3.10.58]# make -j4 modules //編譯模塊 [root@sean linux-3.10.58]# make -j4 modules_install //編譯安裝模塊
-j后面的數字是線程數,用于加快編譯速度,一般的經驗是,邏輯CPU,就填寫那個數字,例如有8核,則為-j8。(modules部分耗時30多分鐘)
9.安裝
[root@CentOS-BinaryDev~]# make install
如果出現少量 ERROR 可以忽略
10.修改 Grub 引導順序
[root@CentOS-BinaryDev~]# vim /etc/grub.conf
一般新內核的位置都在第一個,所以設置 default=0.
11.重啟后查看內核版本號
[root@CentOS-BinaryDev~]# uname -r
3.12.16
12.如果失敗,轉至第 5 步,在重新開始之前,需要清理上次編譯的現場
[root@CentOS-BinaryDev~]# make mrproper