FreeBSD連載(58):為編譯核心準備原始碼

1999年12月30日 15:44 王波

  

配置FreeBSD核心

  安裝好FreeBSD之後,便需要根據硬體和電腦的應用需求重新配置FreeBSD的核心。標準核心已經能 夠滿足正常運行FreeBSD的需要,但是不建立針對自己電腦的核心,就不能說完全完成了FreeBSD的配置任務 。雖然FreeBSD提供了UserConfig可以來更改核心中硬體資源的,並通過可加載模塊以擴展核心能力,但仍 然有幾個重要的原因使得FreeBSD使用者重新定制核心:

  通用核心不能對所有的硬體都進行支持,某些對安裝和運行不是至關重要的硬體,如聲卡,或者較少用到的硬體,如 ATM卡,就沒有被編譯到通用核心中去。如果用戶的電腦上使用了這些硬體,就需要重新編譯核心。

  某些應用程序和FreeBSD的功能對核心的參數有特殊要求,例如Windows的模擬器Windows E mulation等。重新編譯核心能滿足這些應用程序對核心參數的特殊要求。

  通用核心中有很多不必要的硬體驅動程序,這些程序不僅使啟動時自動檢測硬體需要的時間變長,並且占用了內存空 間。由於核心是系統最重要的部分,將一直駐留在內存中,而不會置換到硬碟上,因此多余的核心驅動程序浪費了寶貴的物理 內存,對於系統性能有一定影響。

  重新生成核心也可以根據自己的硬體和需求優化核心參數,例如用作伺服器和系統和用於工作站的FreeBSD系 統的最優參數是不同的,並且通用核心是使用386指令集,而目前電腦一般都是Pentium級,因此可以使用最新的 編譯器和最優化的編譯選項,提高系統性能。

  定制核心能夠按照硬體和需求量體裁衣,使核心簡潔、干淨,這是一個提供高效率系統的重要因素。而且在Free BSD下,定制核心並不困難,即使是對系統不太熟悉的使用者,也能夠完成定制核心的任務,所需要的只是耐心等待編譯過 程。在安裝好系統之後,應該及時進行定制核心的操作。

  • 為編譯核心準備原始碼

  FreeBSD系統提供核心的原始碼,在安裝系統時是否安裝核心代碼與使用的不同安裝選項有關。安裝後的源代 碼位於/usr/src/sys目錄中,如果這個目錄不存在或者為空目錄,則說明原始碼沒有安裝。此時就必須重新安裝 核心原始碼。

  仍然可以使用/stand/sysinstall程序,選擇Distribution選項來安裝原始碼﹔也可 以運行安裝介質中src目錄下的install.sh來安裝。安裝FreeBSD核心原始碼之後,習慣上還創建了一個 符號連接/sys,指向/usr/src/sys目錄,以方便使用。

  在擁有了原始碼之後,就可以編輯配置檔案,進行配置工作了。原始碼目錄/usr/src/sys下有多個目錄 ,每個FreeBSD支持的設備、檔案系統都有自己的目錄,以存放相關的原始碼。在定制核心的時候,所關系的目錄是內 核配置檔案所在的目錄:/sys/i386/conf,i386目錄表示是Intel 386體系的電腦,其下的c onf目錄下就放置著核心的配置檔案。