最近要交操作系統的作業,其中一項就是編譯Linux系統的最新的內核。
CentOS和RedHat是兩個很相似的Linux操作系統,比較穩定,Ubuntu則是另一種比較流行的版本。
我在電腦上安裝的是最新版的CentOS7,使用命令uname -a可以查看系統內核版本。
百度上有一篇講解編譯內核的教程,有參考價值,但是那個是CentOS6加上3.x的內核。
http://jingyan.baidu.com/article/414eccf61296c16b421f0a63.html
第一步:到官網https://www.kernel.org/下載最新內核4.3,下載tar.xz
第二步:解壓內核
root用戶:# tar -Jxvf linux-4.2.3.tar.xz -C /usr/src/ 把文件解壓到 /usr/src/ 中
解壓文件,現在一般采用 .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........