OpenBSD 核心編譯和最佳化(轉)
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下一樣的配置功能。
要透過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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- hi3520d核心編譯編譯方法編譯
- 如何編譯 Linux 核心編譯Linux
- linux核心修改編譯Linux編譯
- Linux核心模組編譯Linux編譯
- 探索gcc編譯最佳化細節 編譯器最佳化gcc -o3GC編譯
- 香橙派編譯linux核心支援ebpf和虛擬WIFI編譯LinuxeBPFWiFi
- 編譯器最佳化丨Cache最佳化編譯
- 高效學習Linux核心——核心模組編譯Linux編譯
- Centos8編譯安裝核心CentOS編譯
- Linux編譯核心 Ubuntu18.04 -2020.11.04Linux編譯Ubuntu
- 重編譯 invalid 物件(轉)編譯物件
- mingw編譯jsoncpp 轉載編譯JSON
- 開源編譯工具和編譯軟體編譯
- nanoPI編譯核心的一些recordNaN編譯
- 編譯器的自展和自舉、交叉編譯編譯
- 交叉編譯和 RPC編譯RPC
- Nexus6P 7.1.2 核心編譯修改 TracerPid編譯
- 編譯安裝最新的Linux系統核心編譯Linux
- 核心與裝置樹編譯與燒寫編譯
- 淺談彙編器、編譯器和直譯器編譯
- Tomcat調優總結(Tomcat自身最佳化、Linux核心最佳化、JVM最佳化)【轉】TomcatLinuxJVM
- 【轉】MySQL原始碼編譯安裝MySql原始碼編譯
- 使用ilasm 和 ildasm編譯和反編譯工具對DLL檔案修改ASMLDA編譯
- 實現微信小程式編譯和執行環境系列(核心篇一)微信小程式編譯
- 04_Linux下把驅動編譯進核心Linux編譯
- 在 21 世紀該怎樣編譯 Linux 核心編譯Linux
- Angular–AOT和JIT編譯Angular編譯
- keystone和beaengine的編譯編譯
- Go 編譯和工具鏈Go編譯
- vue3編譯最佳化之“靜態提升”Vue編譯
- OpenBSD 7.5 正式版釋出
- 提前編譯:AOT-Native Image 和執行時編譯 JIT編譯
- Vue3原始碼分析——編譯模組和編譯器Vue原始碼編譯
- [轉]:xmake編譯配置過程詳解編譯
- GraphJin:GraphQL自動編譯轉為SQL編譯SQL
- A40i &T3 全原始碼編譯-ARM Linux核心在PC Linux的編譯方法原始碼編譯Linux
- 你知道 Vue3 中的編譯最佳化嗎?Vue編譯
- 使用 Nginx 編譯 Sass 和 ScssNginx編譯CSS
- TIR 的概念和編譯原理編譯原理