9 配置FreeBSD 內核
9.1 大綱
9.2 為什么要構建一個定制的內核?
9.3 建立并安裝一個定制的內核
9.4 配置文件
9.5 建立設備節點
9.6 出現問題如何解決
----------------------------------------------------------------------
Chapter 9 配置FreeBSD 內核
由Jake Hamby最初投稿,由Jim Mock更新
9.1 大綱
內核是FreeBSD系統的核心。它用來進行內存管理,安全控制,網絡,磁盤訪問等等。而有
時你需要重新配置和編譯你的內核。
讀完這一章,你將知道以下內容:
* 為什么需要建構一個定制的內核.
* 怎么樣寫一個內核配置文件,或修改一現有的配置文件.
* 怎么樣使用內核配置文件創造并構建一新內核.
* 怎么樣安裝一個新內核.
* 在需要的情況下,怎么樣在/dev 中創建設備文件.
* 出問題后,如何解決所出現的問題.
----------------------------------------------------------------------
9.2 為什么要構建一個定制的內核?
以前,freebsd的內核是一個宏內核。這意味著,內核是一個支持固定數量設備的大
型程序。如果你想改變內核的行為,就必須從新編譯內核,并用新內核從新啟動系統。.
如今,freebsd內核正快速向一模塊化方向遷移;也就是說核由模塊組成,內核功能
由模塊實現,我們能根據需要隨時加載或卸載功能模塊。這使得內核能迅速識別新硬件
(如筆記本電腦上的PCMCIA卡),能容易的在內核中加入最初編譯的內核所不具備的功
能。這就是所說的模塊化內核。通俗的講,就是KLDs。.
盡管如此,仍然有必要做一些靜態的內核編譯。因為在某些情況下,功能性相互交叉,
無法實現動態加載;也有可能就是還沒有人寫出實現這種功能的內核可動態加載的模塊.
構建一個定制的內核幾乎是每一個UNIX 用戶都該有的重要能力之一。這樣做雖然會
消耗一定的時間,但它將會對你的FreeBSD 系統帶來很多好處。定制的內核將只包含對
你PC的硬件設備的支持,這點不象需支持很廣泛的硬件設備的GENERIC 內核。它會帶來
許多好處:
* 更短的啟動時間。因為內核只檢測你機器上有的硬件,那么系統啟動所需的時間
將大大減少。
* 較少的內存使用量。一個定制的內核通常會比GENERIC 內核使用更少的內存。這
一點很重要,因為內核必須始終駐留實存,占用內存。所以,一個定制的內核對于內存較
少的機器來說尤為重要.
* 額外的硬件支持。一個定制的內核允許你為 聲卡等不為GENERIC 內核所支持的
設備提供支持.
----------------------------------------------------------------------
9.3 建立并安裝一個定制的內核
首先,我們粗略瀏覽一下構建內核的目錄。所有提及的目錄都是相對于/usr/src/sys
而言的,它們也可以通 過/sys 訪問。這里的子目錄代表內核的不同部分。但對我們而言,
最重要的是/arch/conf ,在這兒你可以定 制內核的配置,然后進行編譯,它是所譯內核
的存放地。這里的arch 也可能是i386,alpha,或pc98(pc硬件的 一種體系,在日本比較流
行) 。在一個特殊的體系結構目錄內的所有代碼是這個體系結構所獨有的;其它部 分的
代碼是所有平臺共享的。注意一下目錄的邏輯結構,所有支持的設備、文件系統和選項,
等都在它們各自 的子目錄下。FreeBSD 5.x及以后的版本已經支持sparc64,還有一些其
它平臺的支持正在開發中。
注意:如果你的系統沒有/usr/src/sys 目錄,這表明內核源代碼就沒有被安裝。最
容易的安裝方式是以root 的身份運行/stand/sysinstall ,然后選擇
configure->Distributions->src->sys。要是你不喜歡用sysinstall,但有freebsd
的官方安裝盤,那么你可 以用以下的命令安裝源代碼:
# mount /cdrom
# mkdir -p /usr/src/sys
# ln -s /usr/src/sys /sys
# cat /cdrom/src/ssys.[a-d]* | tar -xzvf -