筠宝儿 發表於 2008-9-8 18:48:57

OpenBSD3.6编译内核的方法

<p>首先要下载<a target="_blank" href="#" class="UBBWordLink">安装</a>所需的包 <br />
  在官方发布的OpenBSD光盘上可以获取源代码,当然也可以从网上下载src.tar.gz、sys.tar.gz、ports.tar.gz文档 <br />
  cp /home/jjp/src.tar.gz /usr/src/ <br />
  tar zxvf src.tar.gz <br />
  cp /home/jjp/sys.tar.gz /usr/src/ <br />
  tar zxvf sys.tar.gz <br />
  cp /home/jjp/ports.tar.gz /usr/ <br />
  tar xzvf ports.tar.gz</p>
<p>  可以cvsup到最新的文件,首先要<a target="_blank" href="#" class="UBBWordLink">安装</a>cvsup。 <br />
  pkg_add cvsup-16.1g-no_x11.tgz <br />
  装完以后需要自己手工生成配置文件,不象FreeBSD那样可以拷贝一个example。 <br />
  cd /usr <br />
  mkdir cvsup&nbsp; <br />
  cd cvsup <br />
  编辑cvsup-supfile</p>
<p>  mg cvsup-supfile <br />
  #注意需要用mg,不是vi什么的 <br />
   <br />
  #Defaults that apply to all the collections <br />
  *default release=cvs <br />
  *default delete use-rel-suffix <br />
  *default umask=002 <br />
  *default host=cvsup.uk.openbsd.org <br />
  *default base=/usr <br />
  *default prefix=/usr/cvsup</p>
<p>  #If your network link is T1 or faster, comment out the following line.&nbsp; <br />
  *default compress</p>
<p>  OpenBSD-all <br />
  #OpenBSD-src <br />
  #OpenBSD-www <br />
  #OpenBSD-ports <br />
  #OpenBSD-x11 <br />
  #OpenBSD-xf4 <br />
  </p>
<p>  然后执行cvsup <br />
  cvsup -g -L 2 cvsup-supfile</p>
<p>  OpenBSD的内核配置文件因为支持多平台,所以相应平台的配置&nbsp; <br />
  文件就存放在/usr/src/sys/arch/$ARCH/conf/里,这里的$ARCH就是你所用的平台名称。以i386为例介绍对内核有优化作用的选项。&nbsp;</p>
<p>  cd /usr/src/sys/arch/i386/conf <br />
  cp GENERIC mine <br />
  vi mine</p>
<p>  处理器及I/O部分有:&nbsp; <br />
  option I686_CPU&nbsp; <br />
  这个很简单,与FreeBSD一样&nbsp; <br />
  #option GPL_MATH_EMULATE&nbsp; <br />
  别把它打开除非你的机器老得连FPU都没有&nbsp; <br />
  option DUMMY_NOPS&nbsp; <br />
  把开机延迟关掉&nbsp; <br />
  option UVM&nbsp; <br />
  高级虚拟内存<a target="_blank" href="#" class="UBBWordLink">系统</a>,在<a target="_blank" href="#" class="UBBWordLink">系统</a>进行交换时提高速度所用&nbsp; <br />
  #option MFS&nbsp; <br />
  这个也与FreeBSD含义一样,用于建立内存盘以提升数据访问速度&nbsp;</p>
<p>  <a target="_blank" href="#" class="UBBWordLink">网络</a>部分有:&nbsp; <br />
  option NMBCLUSTERS=&quot;8192&quot;&nbsp; <br />
  与FreeBSD含义一样,提升高流量时的<a target="_blank" href="#" class="UBBWordLink">网络</a><a target="_blank" href="#" class="UBBWordLink">操作</a>速度并提高内核稳定性。如流量低可用1024或2048&nbsp; <br />
  另外,把不需要的网卡设备都注释掉,这样可以减小内核容量提升启动速度。&nbsp;</p>
<p>  磁盘设备部分有:&nbsp; <br />
  option BUFCACHEPERCENT=45&nbsp; <br />
  保留45%的<a target="_blank" href="#" class="UBBWordLink">系统</a>内存作为文件<a target="_blank" href="#" class="UBBWordLink">系统</a>的缓存,顾名思义,根据实际<a target="_blank" href="#" class="UBBWordLink">系统</a>内存数来取值,推荐取低一些的值&nbsp; <br />
  另外,与<a target="_blank" href="#" class="UBBWordLink">网络</a>部分一样,把不需要的磁盘设备(scsi、ide)都注释掉。&nbsp;</p>
<p>  配完了内核,依次打:&nbsp; <br />
  cd /usr/src/sys/arch/i386/conf ;&nbsp; <br />
  config mine <br />
  cd ../compile/mine ;&nbsp; <br />
  make depend && make&nbsp; <br />
  cp /bsd /bsd-old ; cp bsd /bsd&nbsp; <br />
  重启后就可以直接用刚才编译好的新内核了,如果它有任何问题,可以重启后在boot&gt;的提示符上输入刚才换名的旧内核,命令格式为:&nbsp; <br />
  boot&gt; boot device:/kernelold&nbsp; <br />
  把device换成你存放旧内核的盘设备即可。顺便提一下,你可以在上述命令后加上一个-c选项进入User Kernel Config界面,它提供与FreeBSD下一样的配置功能。</p>
頁: [1]
查看完整版本: OpenBSD3.6编译内核的方法