CentOS內核定製

版本:1.0.1
作者:石碩
更新:2014-05-09 15:04:53
============================================================

出於工作需要,定製CentOS內核,以改進TCP的傳輸效率,如何改進這裏暫且不提,下面重點講解如何獲取源碼,編譯。


1. 編譯前的準備

以【root】用戶安裝下列組件:
su root
yum -y groupinstall "Development Tools"
yum -y install ncurses-devel qt-devel
yum -y install rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed xmlto
yum -y install audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel
yum -y install newt-devel python-devel zlib-devel


2. 安裝內核的源代碼組件

【注】必須使用【非root】用戶執行命令
rpm -i http://vault.centos.org/6.5/updates/Source/SPackages/kernel-2.6.32-431.11.2.el6.src.rpm 2>&1 | grep -v mock

附:kernel-2.6.32-431.11.2.el6.src.rpm 源在國外,下載速度可能會比較慢,可以藉助BGP機房或VPN加速。

附源代碼地址:
http://vault.centos.org/6.5/os/Source/SPackages/
http://vault.centos.org/6.5/updates/Source/SPackages/


3. 解壓及預備源代碼文件

【注】必須使用【非root】用戶執行命令
cd ~/rpmbuild/SPECS
rpmbuild -bp --target=$(uname -m) kernel.spec

附:現在內核的源代碼目錄樹可以在 ~/rpmbuild/BUILD/kernel*/linux*/ 這個目錄內找得到。


4. 編譯新內核

【注】必須使用【非root】用戶執行命令
cd ~/rpmbuild/SPECS
rpmbuild -bb --with baseonly --without debug --without debuginfo --target=`uname -m` kernel.spec 2> build-err.log | tee build-out.log


附:此過程可能需要花費90分鐘左右,請耐心等待。

附:現在自定義內核的 rpm 文件可以在 ~/rpmbuild/RPMS/`uname -m`/ 目錄內找到。


5. 安裝新內核

【注】必須使用【root】用戶執行命令
su root
rpm -ivh kernel-*.rpm


6. 驗證

重啓,查看內核版本
uname -a


參考資料:
[1]CentOS Wiki http://wiki.centos.org/zh/HowTos/Custom_Kernel#head-981e27f326384c58516d3b2051b225526bb0a50a
發佈了54 篇原創文章 · 獲贊 10 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章