第一步:要編譯內核就必須有新的內核,可以從Kernel官方網站www.kernel.org上下載最新的內核源碼,解壓,進入目錄;
第二步:清除垃圾(這一步:一般是在就內核重新編譯時使用,在編譯新的內核是不需要); make clean及make mrproper;
第三步:進行內核裁減配置; 內核裁減配置的原則: 從實際出發。 如:根據支持的硬件設備來決定需要選擇的驅動模塊,根據需要選擇所支持的文件系統格式等; 具體配置命令為: make config :通過命令接口,依次要求你設定每個選項,如果.config文件存在,會根據該文件來設置默認值; make menuconfig :顯示以curses為基礎的、終端式的配置菜單。 make xconfig :圖形界面,顯示以Tk為基礎X Window配置菜單。 最常用的為:make menuconfig(注:需要ncurses的rpm包)。 說明:這一步中選擇為M模式的,編譯到/lib/modules/下相關目錄文件中;選擇為*模式的,編譯到內核中即/boot/vmlinuz中,啟動時加載到內核中。 具體內核裁減配置參閱其它資料。
第四步:生成依賴關系(make dep) 內核源碼樹中大多數文件都會與一些頭文件有依存關系,要想編譯內核順利,在正式編譯前必須讓內核源碼樹中的各個Makefile文件知道這些依存關系。 依存關系建立期間會在內核源碼樹中每個子目錄裡產生一個隱藏的.depend文件,此文件內含子目錄裡各個文件所依存的頭文件清單。 第五步:建立內核映像和模塊 2.4內核:make bzImage :在arch/YOUR_ARCH/boot/中生成在在zImage內核映像文件; make modules :在相應目錄下生成內核模塊(即驅動模塊) 2.6內核:make :作用相當於make bzImage與make modules
第六步:安裝模塊(make modules_install) 讓make modules或make 過程中產生的.o驅動模塊拷入/lib/modules/下相應目錄中;
第七步:安裝內核 第一種情況:直接使用make install命令即可。 第二中情況:先采用cp arch/i386/boot/bzImage /boot/×××(×××表示自己隨意的命名) mkinitrd /boot/×××.img 2.6.12.6(內核版本號) 修改/boot/grub/grub.conf即可。 ok,經過以上的繁瑣而必要的過程後,如果過程順利的話,重啟系統即可使用剛編譯完的內核了。