Linux核心編譯步驟 編譯之前,一定要查看,核心源碼中,Documentation/Changes檔案,查看核心編譯時間,需要的運行環境,如果不適合編譯和有可能失敗。 由於2.4和2.6核心的編譯方法不是完全一樣,所以我們分開兩種情況討論 編譯2.4核心: 編譯2.6核心第一步:make mrproper -清理核心原始碼樹(清理垃圾資訊) make mrproper第二步:make menuconfig --配置核心以及核心模組 make menuconfig (相關的命令還有make config、make oldconfig、make xconfig) (互動問答式)(通過舊核心產生)(圖形介面下編譯) 我們在這裡推薦使用make menuconfig 這種方法操作最方便最直接。 在進入核心配置菜單之後,原則上,自己有把握的可以更改,沒有把握的切記不要亂改,否則會導致編譯失敗。 更改的時候,*,表示編譯進入核心————隨系統啟動而啟動 M,表示編譯進入模組————不隨系統啟動而啟動,在需要的時候調用(一些不重要的外部驅動程式就可以作為核心模組編譯,這樣核心不會過大,也不會影響啟動速度) 空,表示不編譯進入核心也不編譯進入模組————放棄這個功能,如果系統不支援這類功能,可以放棄 最後退出的時候,提示儲存,這裡會將剛才的配置儲存為一個名稱為.config的設定檔,不管我們使用make menuconfig還是make oldconfig、make xconfig、make config,最終都為了產生這個.config檔案,以後所有的操作,就會根據這個檔案中的內容進行,這個檔案,儲存的就是我們剛才所做的改動,可以less .config查看一下。第三步:make dep --產生依賴性關係第四步:make bzImage --產生新核心 make (2.6核心中將左邊三個步驟簡化為make) 第五步:make modules --編譯核心模組 這三個步驟執行的時間比較長,所以,慢慢等吧!剛才這一步是執行時間最長的一步。 第六步:make modules_install --安裝核心模組 第七步:make install --安裝核心 (所有的編譯步驟最好在字元介面下進行,否則在圖形介面下速度會比較慢) 另外上面所提到的所有步驟,任何一步完成之後都要檢查有沒有出錯,就是有沒有顯示error的字樣,如果顯示任何一步出錯都要退回到make mrproper重來。沒有報錯,似乎情況還不錯。但是不要高興太早,還要進行進一步測試:1. vi /etc/grub.conf -->查看是否有新的核心啟動項產生。並修改default指向(0代表第一個,1代表第二個,以此類推)。2. ls /boot -->查看是否有新的核心檔案vmlinuz產生。 現在差不多行了,但是還要重啟,看是否可以新的核心啟動系統。我現在已經成功進入系統了,那麼執行uname -a 檢查一下我們現在是否使用新核心:顯示使用的核心是新核心,證明核心編譯成功! 大功告成!