最近要交操做系統的做業,其中一項就是編譯Linux系統的最新的內核。html
CentOS和RedHat是兩個很類似的Linux操做系統,比較穩定,Ubuntu則是另外一種比較流行的版本。linux
我在電腦上安裝的是最新版的CentOS7,使用命令uname -a能夠查看系統內核版本。vim
百度上有一篇講解編譯內核的教程,有參考價值,可是那個是CentOS6加上3.x的內核。操作系統
http://jingyan.baidu.com/article/414eccf61296c16b421f0a63.htmlhtm
第一步:到官網https://www.kernel.org/下載最新內核4.3,下載tar.xzblog
第二步:解壓內核教程
root用戶:# tar -Jxvf linux-4.2.3.tar.xz -C /usr/src/ 把文件解壓到 /usr/src/ 中get
解壓文件,如今通常採用 .tar.xz 的壓縮格式(壓縮率最高,可是壓縮時間較長)。源碼
/usr/src 通常而言、咱們製作linux內核的時候源碼通常放在這個路徑下。編譯
第三步:
若是是第一次編譯內核,並無上次的殘留文件能夠能夠跳過
# make mrproper
這個步驟
注意:make clean 刪除大多數的編譯生成文件, 可是會保留內核的配置文件.config, 還有足夠的編譯支持來創建擴展模塊
make mrproper 刪除全部的編譯生成文件, 還有內核配置文件, 再加上各類備份文件
make distclean mrproper刪除的文件, 加上編輯備份文件和一些補丁文件。
第四步:
接下來是 make config 。
(具體參照 《make config 的幾種類型》)
通常採用 # make menuconfig 的方式
是這個樣子的:
此處須要幾個包,選擇最簡單的yum安裝,根據系統狀況,缺什麼裝什麼,已經有的就不用再安裝了!
# yum -y install gcc 和
# yum install ncurses ncurses-devel。
具體配置選項能夠自行查詢,我是使用的默認值!
對新的內核功能選擇,並生成一個 .config 的文件,內核編譯安裝的時候回從這裏讀取配置!
第五步:編譯內核(時間很長,可能一個多小時)
# make 和 # make modules_install (此處命令必須進入/usr/src/linux-x-x-x/纔有效,不然會報錯)
可能只須要一步,看狀況吧!
第六步:安裝內核(時間很長,可能一個多小時)
# make install
第七步:修改默認啓動內核
# vim /boot/grub2/grub.cfg
其實啓動的時候會依次列出系統有的內核,從0開始數,想啓動那個就設置它的順序就OK了!
第八步:重啓看到效果
完成!額,我剛剛寫成了3就是這個效果,其實應該是2........