歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> CentOS 內核編譯

CentOS 內核編譯

日期:2017/3/3 14:08:56   编辑:Linux技術
第一步:下載內核源碼:
wgethttp://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.gz
然後解壓進入到解壓後的目錄
# tar -zxvf linux-2.6.29.tar.gz
# cd /usr/src/linux-2.6.29
第二步:開始編譯
清理以前的編譯痕跡
如果內核源碼是剛解壓縮出來的,可以跳過這一步,否則執行以下兩條命令:
1
2

make mrproper
make clean

設置內核編譯選項
命令如下:
1
2

cp /boot/config-xx.xx.xx. .config
make menuconfig

執行該命令需要ncurses庫,如果執行出錯則執行如下命令安裝ncurses:
1

yum install ncurses-devel

編譯內核壓縮鏡像
1

make bzImage

編譯會生成bzImage文件,對應於/boot目錄下的vmlinuz文件,是壓縮過的內核文件。啟動加載時將該文件解壓縮到內存中之後才能執行操作系統。
編譯內核模塊
1

make modules

內核在運行過程中,除需要內核文件之外,還需要加載一些外圍模塊(例如驅動程序)等才能運行。
安裝內核模塊
1

make modules_install

安裝上一步中編譯的內核模塊,一般都會安裝到/lib/modules目錄下。
安裝內核
1

make install

這句命令很簡單,它會在/boot目錄下生成vmlinux/System.map兩個文件,並且在/boot/grub目錄中生成menu.lst文件。有關menu.lst文件的修改方法請Google一下。
注:要是遇到找不到內核模塊的錯誤,執行以下兩個命令
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.29.1cp System.map /boot/System.map-2.6.29.1啟動新的內核
修改/boot/grub/menu.lst文件,將新生成的默認啟動項修改為剛生成的啟動項,重啟即可:
1

reboot

Copyright © Linux教程網 All Rights Reserved