OpenBSD 核心編譯和最佳化(轉)

BSDLite發表於2007-08-12
OpenBSD 核心編譯和最佳化(轉)[@more@]要編譯核心,需要一套完整的syssrc包,這套東東可以透過CVS或FTP方式獲得。


要透過CVS方式下載,在SHELL上打:

export CVS_RSH="/usr/bin/ssh"
export CVSROOT=anoncvs@anoncvs1.usa.openbsd.org:/cvs
想用其它地方的伺服器,請看完整的CVS伺服器列表。

cd /usr && cvs checkout -z9 src/sys
要用FTP方式下載,請到:

下載完後就可以把它放到/usr/src目錄裡,並解開:

cp srcsys.tar.gz /usr/src ; tar -xzvf /usr/src/srcsys.tar.gz
搞定了原始碼,接下來就可以配置並編譯核心了。OpenBSD的核心配置檔案因為支援多平臺,所以相應平臺的配置
檔案就存放在/usr/src/sys/arch/$ARCH/conf/裡,這裡的$ARCH就是你所用的平臺名稱。我們以i386為例介紹
對核心有最佳化作用的選項。

O 處理器及I/O部分有:

option I686_CPU
這個很簡單,與FreeBSD一樣
#option GPL_MATH_EMULATE
別把它開啟除非你的機器老得連FPU都沒有
option DUMMY_NOPS
把開機延遲關掉
option UVM
高階虛擬記憶體系統,在系統進行交換時提供速度所用
option MFS
這個也與FreeBSD含義一樣,用於建立記憶體盤以提升資料訪問速度
O 網路部分有:

option NMBCLUSTERS="8192"
與FreeBSD含義一樣,提升高流量時的網路操作速度並提高核心穩定性。如流量低可用1024或2048
另外,把不需要的網路卡裝置都註釋掉,這樣可以減小核心容量提升啟動速度。

O 磁碟裝置部分有:

option BUFCACHEPERCENT=45
保留45%的系統記憶體作為檔案系統的快取,顧名思義,根據實際系統記憶體數來取值,推薦取低一些的值
另外,與網路部分一樣,把不需要的磁碟裝置(scsi、ide)都註釋掉。

配完了核心,依次打:

cd /usr/src/sys/arch/$ARCH/conf ; config yourkernel
cd ../compile/yourkernel ; make depend && make
cp /bsd /bsd-old ; cp bsd /bsd
重啟後就可以直接用剛才編譯好的新核心了,如果它有任何問題,可以重啟後在boot>的提示符上輸入剛才換名的
舊核心,命令格式為:

boot> boot device:/kernelold
把device換成你存放舊核心的盤裝置即可。順便提一下,你可以在上述命令後加上一個-c選項進入User Kernel
Config介面,它提供與FreeBSD下一樣的配置功能。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-948989/,如需轉載,請註明出處,否則將追究法律責任。

相關文章