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