当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > OpenBSD3.6编译内核的方法

Unix/Linux
简析Linux中如何改变文件或目录的访问权限
初次安装Linux系统手记
Linux上搭建C/C++IDE开发环境
独辟蹊径:实现Linux下的局域网远程接入
不同发行版Linux操作系统如何实现共存
将Linux代码移植到Windows的简单方法
Linux系统中如何实现远程控制
linux系统如何访问NTFS磁盘
简单高效:用Swatch做Linux日志分析
全球顶尖超级计算机60%用Linux系统
Linux操作系统12则经典应用技巧
RedHat Linux操作系统配置技巧
Linux的防火墙配置—基础篇
浅谈Linux文件系统反删除方法
浅谈Linux优化及安全配置
解读Linux文件权限的设置方法
保护Linux下的Apache网站
如何在Linux下压缩文件
Linux爱好者入门教程
RedHat源码升级-(OpenSSL + OpenSSH)

Unix/Linux 中的 OpenBSD3.6编译内核的方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 119 ::
收藏到网摘: n/a

首先要下载安装所需的包
  在官方发布的OpenBSD光盘上可以获取源代码,当然也可以从网上下载src.tar.gz、sys.tar.gz、ports.tar.gz文档
  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。
  pkg_add cvsup-16.1g-no_x11.tgz
  装完以后需要自己手工生成配置文件,不象FreeBSD那样可以拷贝一个example。
  cd /usr
  mkdir cvsup 
  cd cvsup
  编辑cvsup-supfile

  mg cvsup-supfile
  #注意需要用mg,不是vi什么的
  [code:1:e1bf538bc9]
  #Defaults that apply to all the collections
  *default release=cvs
  *default delete use-rel-suffix
  *default umask=002
  *default host=cvsup.uk.openbsd.org
  *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
  [/code:1:e1bf538bc9]

  然后执行cvsup
  cvsup -g -L 2 cvsup-supfile

  OpenBSD的内核配置文件因为支持多平台,所以相应平台的配置 
  文件就存放在/usr/src/sys/arch/$ARCH/conf/里,这里的$ARCH就是你所用的平台名称。以i386为例介绍对内核有优化作用的选项。 

  cd /usr/src/sys/arch/i386/conf
  cp GENERIC mine
  vi mine

  处理器及I/O部分有: 
  option I686_CPU 
  这个很简单,与FreeBSD一样 
  #option GPL_MATH_EMULATE 
  别把它打开除非你的机器老得连FPU都没有 
  option DUMMY_NOPS 
  把开机延迟关掉 
  option UVM 
  高级虚拟内存系统,在系统进行交换时提高速度所用 
  #option MFS 
  这个也与FreeBSD含义一样,用于建立内存盘以提升数据访问速度 

  网络部分有: 
  option NMBCLUSTERS="8192" 
  与FreeBSD含义一样,提升高流量时的网络操作速度并提高内核稳定性。如流量低可用1024或2048 
  另外,把不需要的网卡设备都注释掉,这样可以减小内核容量提升启动速度。 

  磁盘设备部分有: 
  option BUFCACHEPERCENT=45 
  保留45%的系统内存作为文件系统的缓存,顾名思义,根据实际系统内存数来取值,推荐取低一些的值 
  另外,与网络部分一样,把不需要的磁盘设备(scsi、ide)都注释掉。 

  配完了内核,依次打: 
  cd /usr/src/sys/arch/i386/conf ; 
  config mine
  cd ../compile/mine ; 
  make depend && make 
  cp /bsd /bsd-old ; cp bsd /bsd 
  重启后就可以直接用刚才编译好的新内核了,如果它有任何问题,可以重启后在boot>的提示符上输入刚才换名的旧内核,命令格式为: 
  boot> boot device:/kernelold 
  把device换成你存放旧内核的盘设备即可。顺便提一下,你可以在上述命令后加上一个-c选项进入User Kernel Config界面,它提供与FreeBSD下一样的配置功能。