[ 永远的UNIX::UNIX技术资料的宝库 ]

首页 > 系统管理 > FreeBSD > 正文

OpenBSD内核编译和优化

作者:meaculpa 来源:不详 (2005-03-22 16:37:59)

要编译内核,需要一套完整的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方式下载,请到:ftp://ftp.openbsd.org/pub/OpenBSD/2.7/srcsys.tar.gz

下载完后就可以把它放到/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下一样的配置功能。


(http://www.fanqiang.com)

原文链接:http://www.6bytes.com/meaculpa/doc/openbsd_kernel_compilation_and_optimization.html

 
 相关文章

★  感谢所有的作者为我们学习技术知识提供了一条捷径  ★
www.fanqiang.com