歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> BSD

OpenBSD編譯內核


  【IT168 服務器學院】曾經裝過一次OpenBSD,由於種種原因,沒有再繼續使用,現在簡單的把原來的筆記整理一下吧,這個筆記是以3.6為例,希望不算太過時,估計方法應該沒變。
  首先要下載安裝所需的包
  在官方發布的OpenBSD光盤上可以獲取源代碼,當然也可以從網上下載src.tar.gz、sys.tar.gz、ports.tar.gz文檔
CODE:  cp /home/jjp/src.tar.gz /usr/src/
  tar zxvf src.tar.gz
  cp /home/jjp/sys.tar.gz /usr/src/
  tar zxvf sys.tar.gz
  cp /home/jjp/ports.tar.gz /usr/
  tar xzvf ports.tar.gz

可以cvsup到最新的文件,首先要安裝cvsup。
CODE:  pkg_add cvsup-16.1g-no_x11.tgz

裝完以後需要自己手工生成配置文件,不象FreeBSD那樣可以拷貝一個example。
CODE:  cd /usr
  mkdir cvsup
  cd cvsup

編輯cvsup-supfile
CODE:  mg cvsup-supfile

#注意需要用mg,不是vi什麼的
CODE:  #Defaults that apply to all the collections
  *default release=cvs
  *default delete use-rel-suffix
  *default umask=002
  *default base=/usr
  *default prefix=/usr/cvsup
  #If your network link is T1 or faster, comment out the following line.
  *default compress
  OpenBSD-all
  #OpenBSD-src
  #OpenBSD-www
  #OpenBSD-ports
  #OpenBSD-x11
  #OpenBSD-xf4

然後執行cvsup
CODE:  cvsup -g -L 2 cvsup-supfile

OpenBSD的內核配置文件因為支持多平台,所以相應平台的配置
  文件就存放在/usr/src/sys/arch/$ARCH/conf/裡,這裡的$ARCH就是你所用的平台名稱。以i386為例介紹對內核有優化作用的選項。
CODE:  cd /usr/src/sys/arch/i386/conf
  cp GENERIC mine
  vi mine

處理器及I/O部分有:
CODE:  option I686_CPU

這個很簡單,與FreeBSD一樣
CODE:  #option GPL_MATH_EMULATE

別把它打開除非你的機器老得連FPU都沒有
CODE:  option DUMMY_NOPS

把開機延遲關掉
CODE:  option UVM

高級虛擬內存系統,在系統進行交換時提高速度所用
CODE:  #option MFS

這個也與FreeBSD含義一樣,用於建立內存盤以提升數據訪問速度
  網絡部分有:
CODE:  option NMBCLUSTERS="8192"

與FreeBSD含義一樣,提升高流量時的網絡操作速度並提高內核穩定性。如流量低可用1024或2048
  另外,把不需要的網卡設備都注釋掉,這樣可以減小內核容量提升啟動速度。
  磁盤設備部分有:
CODE:  option BUFCACHEPERCENT=45

保留45%的系統內存作為文件系統的緩存,顧名思義,根據實際系統內存數來取值,推薦取低一些的值
  另外,與網絡部分一樣,把不需要的磁盤設備(scsi、ide)都注釋掉。
  配完了內核,依次打:
CODE:  cd /usr/src/sys/arch/i386/conf ;
  config mine
  cd ../compile/mine ;
  make depend && make
  cp /bsd /bsd-old ; cp bsd /bsd

重啟後就可以直接用剛才編譯好的新內核了,如果它有任何問題,可以重啟後在boot>的提示符上輸入剛才換名的舊內核,命令格式為:
CODE:  boot> boot device:/kernelold

把device換成你存放舊內核的盤設備即可。順便提一下,你可以在上述命令後加上一個-c選項進入User Kernel Config界面,它提供與FreeBSD下一樣的配置功能。
Copyright © Linux教程網 All Rights Reserved