第一步嘛,自然是要先把需要的包都给备好。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编辑器,别拿vi凑合。
mg cvsup-supfile
配置文件内容如下(别被那些注释唬住,其实逻辑很清晰):
[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下是一样的。
