資源描述:
《linux內(nèi)核編譯--編譯方法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、一、為什么要編譯內(nèi)核; 有時我們?yōu)榱藢崿F(xiàn)某些功能,比如對iptables的防火墻有些需要內(nèi)核支持;還有實現(xiàn)一些硬件的支持等,這時我們需要重編內(nèi)核; 二、內(nèi)核源碼版本的選擇; 如果發(fā)行版本提供內(nèi)核源碼,最好還是用發(fā)行版本提供的;比如Fedora4.0提供了很多版本的內(nèi)核源碼;我們安裝好后,他自帶的配置文件大多能滿足我們的需要,對于新手來說,根據(jù)自帶的內(nèi)核的配置文件.config,我們也能學(xué)到一點如何配置內(nèi)核。也沒有什么難的,熟能生巧罷了; 如果從kernel.org下載最新穩(wěn)定版本的內(nèi)核也是可以的; 三、內(nèi)核源碼安裝或解壓; 對于Fe
2、doraCore4.0來說,內(nèi)核源碼是放在/usr/src/kernels目錄中;如果通過在線升級內(nèi)核,也是放在這個目錄中;如果您的系統(tǒng)中的/usr/src/kernels/中沒有內(nèi)容,說明您沒有安裝內(nèi)核的源碼包kernel-devel軟件包; 您可以通過軟件包管理器來補(bǔ)裝,請參考《Fedora/Redhat軟件包管理指南》 如果您用FedoraCore4.0,我建議您在保留老內(nèi)核的基礎(chǔ)上,在線下載最新版本的內(nèi)核kerenl-devel和對應(yīng)版本的kernel或者從kernel.org下載,有時可能新的kerenl已經(jīng)解決了您所面對的問題,
3、這時就沒有必要編譯內(nèi)核了; 如果您是通過在線安裝的內(nèi)核源碼包,比如通過apt+synaptic或者yum安裝的,內(nèi)核源碼會被放到/usr/src/kernel下的目錄中,您要進(jìn)入相對應(yīng)的目錄進(jìn)行編譯; 在線更新軟件包,請參考《Fedora/Redhat軟件包管理指南》,推薦apt+synaptic工具; 如果您是是下載kernel和kernel-devel的rpm包,可以通過來安裝; 代碼:1.[root@localhostbeinan]#rpm-ivhkernel*.rpm復(fù)制代碼 如果您是從kernel.org下載的類似linux
4、-2.6.13.tar.bz2或者linux-2.6.13.tar.gz的,您要把下載下來的文件移到/usr/src目錄中解壓;然后進(jìn)入解壓的目錄中進(jìn)行配置和編譯; 代碼:1.[root@localhostbeinan]#mvlinux-2.6.13.tar.bz22.[root@localhostbeinan]#cd/usr/src/3.4.[root@localhostsrc]#tarjxvflinux-2.6.12.3.tar.bz2復(fù)制代碼提示:本文以linux-2.6.12.3為例,其實通過發(fā)行版的升級版的kernel-devel和
5、從kernel.org下載下來的差不多,大同小異;不同的是通過在線升級的rpm格式的內(nèi)核源碼包,有配置文件.config可以參考;安裝到的目的地是/usr/src/kernel對FC4.0來說;如果您要高編譯和配置內(nèi)核。四、內(nèi)核的配置; 1、進(jìn)入目錄執(zhí)行makemrproper,對于從kernel.org下載而來的tar.bz格式的源碼包; 代碼:1.[root@localhostsrc]#cdlinux-2.6.12.3/2.3.[root@localhostlinux-2.6.12.3]#4.5.[root@localhostsrc]#
6、cdlinux-2.6.12.3/6.7.[root@localhostlinux-2.6.12.3]#makemrproper8.9.[root@localhostlinux-2.6.12.3]#makemenuconfig復(fù)制代碼 對于FedoraCore4.0,如果您是通過在線安裝的kernel和kernel-devel新版本的包,比如是2.6.12-1.1398_FC4-i686,你可以直進(jìn)入/usr/src/kernel/相應(yīng)的目錄中直接執(zhí)行makemenuconfig;利用發(fā)行版本提供的.config來配置,這樣方便點。不要mak
7、emrproper,否則.config就沒有了;這也是為什么要用發(fā)行版本提供的內(nèi)核源碼升級包的原因; 其它配置和安裝大同小異;模仿總可以吧; 2.簡要的配置內(nèi)核; 進(jìn)入配置內(nèi)核的配置模式后,我們可能一無所知,看下面; 內(nèi)核配置有兩種方法,一種是直接置入內(nèi)核*;另一種是編成模塊M;兩種方法各有優(yōu)點;直接編入內(nèi)核的,比如設(shè)備的啟動,不再需要加載模塊的這一過程了;而編譯成模塊,則需要加載設(shè)備的內(nèi)核支持的模塊;但直接把所有的東西都編入內(nèi)核也不是可行的,內(nèi)核體積會變大,系統(tǒng)負(fù)載也會過重。我們編內(nèi)核時最好把極為重要的編入內(nèi)核;其它的如果您不明白的,
8、最好用默認(rèn)?! ?)移動鍵盤上下左右鍵,按Enter進(jìn)入一個目錄。把指針移動到Exit就退出當(dāng)前目錄到上級目錄; 2)針對自己機(jī)器存在的問題進(jìn)行修改